Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > การนับข้อมูลจาก2 ตาราง ทำอย่างไรคะ คือว่ามีตารางอาจาย์ กับตารางกลุ่มสาระอยู่คะ



 

การนับข้อมูลจาก2 ตาราง ทำอย่างไรคะ คือว่ามีตารางอาจาย์ กับตารางกลุ่มสาระอยู่คะ

 



Topic : 036726



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์




คือว่ามีตารางอาจาย์ กับตารางกลุ่มสาระอยู่คะ
แล้วต้องการนับจำนวนอาจารย์โดยจำแนกตามกลุ่มสาระและตามเพศชาย หญิง ไม่ทราบว่าต้องเขียน select อย่างไรคะ




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-01-08 15:36:26 By : muay028 View : 2051 Reply : 30
 

 

No. 1



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


count + group by + innet join






Date : 2010-01-08 15:55:39 By : plakrim
 


 

No. 2



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


ขอตัวอย่างได้ไหมคะพี่.............PlaKriM
ขอบคุณคะ
Date : 2010-01-08 16:03:28 By : muay028
 

 

No. 3



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เอา db มาลองหน่อย ไม่ชัวร์ เขียนสดเดี๋ยวคุณแม่ไม่ปลื้ม
Date : 2010-01-08 16:05:29 By : plakrim
 


 

No. 4



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

หมายความว่าจะนับจำนวนอาจารย์ ว่า กลุ่มสาระนี้มีกี่คน แบ่งเป็นชายกี่คน หญิงกี่คน แบบนี้ใช่ไหมคะ
Date : 2010-01-08 16:09:46 By : ultrasiam
 


 

No. 5



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


ตารางteacher คือ อาจารย์
teacher
Date : 2010-01-08 16:15:08 By : muay028
 


 

No. 6



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


Code
หมายความว่าจะนับจำนวนอาจารย์ ว่า กลุ่มสาระนี้มีกี่คน แบ่งเป็นชายกี่คน หญิงกี่คน แบบนี้ใช่ไหมคะ


ใช่คะ

Date : 2010-01-08 16:16:14 By : muay028
 


 

No. 7



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


ตาราง gro คือ ตารางกลุ่มสาระการเรียนรู้

gro
Date : 2010-01-08 16:17:53 By : muay028
 


 

No. 8



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

ถ้าเขียนทีละ statement ง่ายกว่าไหมคะ
เช่น...

1 select count(อาจารย์) from ตาราง left join ตาราง using (รหัสกลุ่มสาระ) group by กลุ่มสาระ

ก็จะได้จำนวนอาจารย์ในแต่ละกลุ่ม

2 แล้วมา select count จำนวนอาจารย์ group ตาม เพศ ของแต่ละกลุ่มอีกที

หรือจะทำข้อ 2 แล้วเอามาบวกกัน ก็จะได้ข้อ 1 แบบนี้ก็น่าจะได้นะคะ
Date : 2010-01-08 16:26:12 By : ultrasiam
 


 

No. 9



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

โอ้ ตารางมาแล้ว ขออภัยค่ะ เมื่อกี้ไม่เห็น อิอิ
ว่าแต่สอง table นี้ เชื่อมกันด้วย gro_name หรือคะ นึกว่าใช้ id_gro ซะอีก
Date : 2010-01-08 16:28:43 By : ultrasiam
 


 

No. 10



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


Code
สอง table นี้ เชื่อมกันด้วย gro_name หรือคะ นึกว่าใช้ id_gro ซะอีก


คะ เชื่อมด้วย gro_name
Date : 2010-01-08 16:33:02 By : muay028
 


 

No. 11



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


กรรม export มาซิครับ
Date : 2010-01-08 16:46:19 By : plakrim
 


 

No. 12



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

select count(id_teacher) from teacher group by gro_name

จะได้จำนวนอาจารย์แบ่งตามกลุ่มสาระค่ะ

ลองดูก่อนนะคะ

เรื่องพวกนี้ การเขียนโปรแกรมก็ช่วยได้เหมือนกัน ต้องดูการแสดงผลด้วยค่ะว่าต้องการแบบไหน

แสดงทีกละ กลุ่ม หรือแสดง ทุกกลุ่ม
Date : 2010-01-08 16:49:38 By : ultrasiam
 


 

No. 13



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


แสดงทุกกลุ่มคะ


ยังไงก็ขอบคุณที่แนะนำนะคะ คุณ ultrasiam

เดี่ยวจะนำไปทำดูนะคะ
ถ้าไม่ได้อย่างไรก็ขอปรึกษาอีกนะคะ


Date : 2010-01-08 16:56:12 By : muay028
 


 

No. 14



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

select gro_name,teac_sex,count(id_teacher) from teacher group by gro_name,teac_sex

ลองดูนะคะ

จะได้ข้อมูล

กลุ่มสาระ เพศ จำนวน
1 ชาย n
1 หญิง n
2 ชาย n
2 หญิง n

ประมาณนี้นะคะ ที่เหลือก็เขียนโปรแกรมแสดงเอานะคะ หุหุ จินตนาการล้วน ๆ ไม่มีฐานข้อมูลจริง
Date : 2010-01-08 17:33:07 By : ultrasiam
 


 

No. 15



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


SELECT gro_name, count(teac_sex) FROM teacher GROUP BY gro_name

จะได้ผลดังนี้
ผลการselect

อยากทราบว่าถ้าจะให้แสดงแยกเป็นชายกับหญิงต้องทำอย่างไรคะ
Date : 2010-01-09 13:41:33 By : muay028
 


 

No. 16



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

select gro_name,teac_sex,count(id_teacher) from teacher group by gro_name,teac_sex

ตามนี้ค่ะ ที่บอกไปแล้ว ลองหรือยังคะ
Date : 2010-01-09 21:07:34 By : ultrasiam
 


 

No. 17



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


ลองแล้วคะ
แต่ว่าจะให้มันแสดงขึ้นมาไม่รู้ว่าจะทำอย่างไร
Date : 2010-01-10 14:22:00 By : muay028
 


 

No. 18

Guest


ไม่รู้ว่าได้หรือยัง

คิดว่าคุณคงอยากจะได้ข้อมูลเป็นชุดเดียวกัน คือ
กลุ่มที่ 1 ชาย n คน หญิง n คน รวม n คน
กลุ่มที่ 2 ชาย n คน หญิง n คน รวม n คน
......

แบบนี้

แต่ sql ที่ให้ไปจะได้มาเป็นคนละชุดคือ

กลุ่มที่ 1 ชาย n คน
กลุ่มที่ 1 หญิง n คน
กลุ่มที่ 2 ชาย n คน
กลุ่มที่ 2 หญิง n คน

จึงต้องมีการจัดกลุ่มข้อมูลใหม่
คิดว่าอาจจะมีวิธีที่ง่ายกว่า คือการการ select ข้อมูลเอามาเก็บไว้ในตัวแปรทีละตัวก่อน
* ไม่ค่อยถนัด sql เท่าไหร่ ถนัดแบบนี้มากกว่า อิอิ
ตัวอย่าง

Code (PHP)
/*======กลุ่ม======*/
$sqlgroup="select gro_name from gro order by id_gro";
$querygroup=mysql_query($sqlgroup);
while($resultgroup=mysql_fetch_array($querygroup)){
	/*======ชาย======*/
	$sqlmale="select count(sex) as numsex from teacher where gro_name='".$resultgroup[gro_name]."' and sex=0";
	$querymale=mysql_query($sqlmale);
	$resultmale=mysql_fetch_array($querymale);
	/*======หญิง======*/
	$sqlfemale="select count(sex) as numsex from teacher where gro_name='".$resultgroup[gro_name]."' and sex=1";
	$queryfemale=mysql_query($sqlfemale);
	$resultfemale=mysql_fetch_array($queryfemale);

	echo "กลุ่ม ".$resultgroup[gro_name]." ชาย ".$resultmale[numsex]." คน หญิง ".$resultfemale[numsex]." รวม ".($resultmale[numsex]+$resultfemale[numsex])." คน<br>";
}

Date : 2010-01-10 17:50:39 By : ultrasiam
 


 

No. 19



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณสำหรับคำแนะนะนะค่ะ คุณ ultrasiam
Date : 2010-01-11 12:46:50 By : muay028
 


 

No. 20

Guest


numsex คืออะไรคะ หรือว่าจะใช้เป็นชื่ออะไรก็ได้
Date : 2010-01-12 14:08:33 By : muay028
 


 

No. 21



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

คือตัวนี้ค่ะ

Code (PHP)
select count(sex) as numsex


คุณ as ด้วยอะไร ก็ใช้อันนั้นค่ะ

ถ้าไม่มีก็ใช้ $resultmale[0] แทนค่ะ
Date : 2010-01-12 15:06:45 By : ultrasiam
 


 

No. 22



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


ลองทำดูที่เพศชายและกลุ่มแล้วคะแล้วก็เปลี่ยนจากgro_name เป็น id_gro เพื่อเชื่อมกันกับตาราง teacher กับตาราง gro แต่ว่ามันยัง error อยู่คะ
แล้วก็จำนวนมันก็ยังไม่ขึ้น

อันนี้ error นะคะ
Code
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระการเรียนรู้วิชาภาษาไทย ชาย คน

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระการเรียนรู้วิชาคณิตศาสตร์ ชาย คน

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระการเรียนรู้วิชาวิทยาศาสตร์ ชาย คน

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระการเรียนรู้วิชาสังคมศึกษา ศาสนา และวัฒนธรรม ชาย คน

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระการเรียนรู้วิชาศิลปะ ชาย คน

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระคการเรียนรู้สุขศึกษา พลศึกษา ชาย คน

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระการเรียนรู้วิชาการงานอาชีพและเทคโน ชาย คน

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\management\schoolteacher.php on line 174
กลุ่ม กลุ่มสาระการเรียนรู้วิชาภาษาต่างประเทศ1 ชาย คน


ส่วนอันนี้ code ที่ลองนำไปดัดแปลงคะ
Code (PHP)
$sqlgroup="select gro_name from gro order by id_gro";
$querygroup=mysql_query($sqlgroup);
while($resultgroup=mysql_fetch_array($querygroup)){
	/*======ชาย======*/
	$sqlmale="select count(teac_sex) as $resultmale[0] from teacher where id_gro='".$resultgroup[id_gro]."' and teac_sex=ชาย";
	$querymale=mysql_query($sqlmale);
	$resultmale=mysql_fetch_array($querymale);

echo "กลุ่ม ".$resultgroup[gro_name]." ชาย ".$resultmale[resultmale]." คน <br>";
}



รบกวนช่วยดูให้หน่อยนะคะ แก้มาหลายวันแล้วยังไม่ได้เลย


Date : 2010-01-14 09:15:44 By : muay028
 


 

No. 23

Guest


and teac_sex='ชาย'"
Date : 2010-01-14 09:32:19 By : ความรู้เท่าหางอึ่ง
 


 

No. 24



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


Code
and teac_sex='ชาย'"



ลองใส่ดูแล้วคะ แต่ก็ยังเหมือนเดิม
Date : 2010-01-14 09:38:44 By : muay028
 


 

No. 25

Guest


id_gro='".$resultgroup['id_gro']."'


\www\management\schoolteacher.php on line 174 << มันตรงไหนเหรอคับ
Date : 2010-01-14 09:41:32 By : ความรู้เท่าหางอึ่ง
 


 

No. 26

Guest


echo ตรง $sqlmale มาดู ว่าคำสั่ง SQL มันถูกหรือเปล่า
Date : 2010-01-14 09:43:12 By : ความรู้เท่าหางอึ่ง
 


 

No. 27



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

คุณคงเข้าใจอะไรผิดเกี่ยวกับการ as ใน sql ขออภัยที่ไม่ได้อธิบายให้ละเอียดค่ะ
ที่บอกไปว่า as อะไรก็ ใช้อันนั้น ถ้าไม่มีก็ใช้ $resultmale[0] แทน
หมายถึง
ถ้า count(sex) as numsex ก็ให้ใช้ $resultmale[numsex] หรือ $resultmale[0]
ถ้า count(sex) as total ก็ให้ใช้ $resultmale[total] หรือ $resultmale[0]
หรือถ้าไมไ่ด้ as เช่น select count(sex) from... ก็ให้ใช้ $resultmale[0] ค่ะ

ส่วน error ของคุณเพราะ sql query ไมไ่ด้ ลองแก้เป็นแบบนี้นะคะ

Code (PHP)
$sqlgroup="select * from gro order by id_gro";
$querygroup=mysql_query($sqlgroup);
while($resultgroup=mysql_fetch_array($querygroup)){
	/*======ชาย======*/
	$sqlmale="select count(teac_sex) as num from teacher where id_gro=".$resultgroup[id_gro]." and teac_sex='ชาย'";
	$querymale=mysql_query($sqlmale);
	$resultmale=mysql_fetch_array($querymale);

echo "กลุ่ม ".$resultgroup[gro_name]." ชาย ".$resultmale[num]." คน <br>";
}

Date : 2010-01-14 09:43:26 By : ultrasiam
 


 

No. 28



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


ทำได้แล้วคะ
ขอบคุณมากเลยนะคะ

ถ้าไม่ได้คำแนะนำคงแย่แน่เลย

ขอบคุณทุกๆ คำแนะนำนะคะ
+1คะ
Date : 2010-01-14 09:53:47 By : muay028
 


 

No. 29

Guest


เพิ่มตรงไหนเหรอคับ
Date : 2010-01-14 10:00:43 By : ความรู้เท่าหางอึ่ง
 


 

No. 30



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


แก้ไขตามที่คุณ ultrasiam บอกคะ
Date : 2010-01-14 11:14:52 By : muay028
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การนับข้อมูลจาก2 ตาราง ทำอย่างไรคะ คือว่ามีตารางอาจาย์ กับตารางกลุ่มสาระอยู่คะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่