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 > มีปัญหาในการ Search แล้วมา COUNT ครับ รบกวนช่วยดูหน่อยครับ



 

มีปัญหาในการ Search แล้วมา COUNT ครับ รบกวนช่วยดูหน่อยครับ

 



Topic : 063231



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



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



มีปัญหาในการ Search แล้วมา COUNT ครับ รบกวนช่วยดูหน่อยครับ
ปัญหาคือผม Search ข้อมูลหนึ่งในฟิวส์ bg ตาราง detail ออกมาคือ 55 ผลที่ตามมาได้คือ 55 และ ซับย่อยของมันจะออกมาด้วยคือรหัส 149 150 151 ทั้งหมดที่มีในตาราง service พอออกมาแล้วผมต้องการให้ 149 150 151 ทั้งหมดนับว่ามีจำนวนเท่าไหร่ของ 55 ในฟิวส์ bg ในตาราง detail ครับ ผล Search ที่ต้องการได้คือ
55
149 0
150 2
151 1

ข้อมูลอ้างอิงดังรูปนะครับ
detail
service
ช่วยหน้อยนะครับ คือผมทำแล้ว ข้อมูลออกมาไม่ตรงครับ คือมันไม่ดึงซับย่อยทั้งหมดของ bg 55 ออกมา



Tag : PHP, Ms SQL Server 2008







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-07-16 10:30:13 By : MyZeus View : 1155 Reply : 17
 

 

No. 1



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

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

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

ใช้ GROUP BY เข้าไปอ่านทำความเข้าใจก่อนนะครับ ติดปัญหาอะไรค่อยมาถามใหม่








ประวัติการแก้ไข
2011-07-16 11:32:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 11:32:02 By : Nautilus
 


 

No. 2



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



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

ผลที่ได้คือ
150 2
151 1

แต่ผมต้องการ
55 (ชื่อ bg)
149 0 (149 ไม่มีในตาราง detail แต่เป็นซับย่อยของ 55 แต่อยากให้ขึ้นโชว์ด้วย นับแล้วมีค่าคือ 0)
150 2
151 1

Code (PHP)
<?
include("connect.inc");
$strSQL="SELECT service,COUNT(bg) AS countservice FROM detail WHERE bg=55 GROUP BY service ORDER BY service";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mssql_fetch_array($objQuery))
{
echo "<font color=red>".$objResult["service"]." </font>";
echo "<font color=red>".$objResult["countservice"]." </font>";
echo "<br>";
}
?> 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 12:27:55 By : MyZeus
 

 

No. 3



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

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

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


อ่านแล้วงงดี แต่จับใจความได้ว่า คงต้องใช้ left join หรือว่า right join
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 12:48:22 By : PlaKriM
 


 

No. 4



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

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

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

ตอบความคิดเห็นที่ : 3 เขียนโดย : PlaKriM เมื่อวันที่ 2011-07-16 12:48:22
รายละเอียดของการตอบ ::
ผมก็งง เหมือนกันพี่ปลากริม ^_^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 12:56:44 By : Nautilus
 


 

No. 5



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



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

LEFT JOIN ละครับผลคือ
149 ผลิตภัณฑ์น้ำ 55
150 ผลิตภัณฑ์เครื่องดื่มสำเร็จรูป 55
151 ผลิตภัณฑ์เครื่องดื่มผสม 55

แต่พอ COUNT error เลยครับ จะให้มันนับว่ามีข้อมูลทั้งหมดเท่าไหร่ของ bg=55 ที่ีมีในตาราง detail
Warning: mssql_query() [function.mssql-query]: message: Column 'service.ser_no' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. (severity 16) in C:\AppServ\www\1799\report_business1.php on line 17

Warning:
mssql_query() [function.mssql-query]: Query failed in C:\AppServ\www\1799\report_business1.php on line 17
Error Query [SELECT service.*,detail.*,COUNT(detail.bg) AS countname FROM service LEFT JOIN detail ON service.ser_no = detail.id WHERE service.bg_no=55]
Code (PHP)
<?
include("connect.inc");
$strSQL="SELECT service.*,detail.*,COUNT(detail.bg) AS countname FROM service LEFT JOIN detail ON service.ser_no = detail.id WHERE service.bg_no=55";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mssql_fetch_array($objQuery))
{
echo "<font color=red>".$objResult["ser_no"]." </font>";
echo "<font color=red>".$objResult["ser_name"]." </font>";
echo "<font color=red>".$objResult["bg_no"]." </font>";
echo "<font color=red>".$objResult["countname"]." </font>";
echo "<br>";
}
?> 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 13:20:05 By : MyZeus
 


 

No. 6



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



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

ทำไมผม COUNT ไม่ได้ครับ
SELECT service.*,detail.*,COUNT(detail.bg) AS countname FROM service LEFT JOIN detail ON service.ser_no = detail.id WHERE service.bg_no=55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 16:28:27 By : MyZeus
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

Count แล้วน่าจะต้องใช้ GROUP By ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 19:44:40 By : webmaster
 


 

No. 8



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



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

Error อยู่เลยครับ

Warning: mssql_query() [function.mssql-query]: message: Column 'detail.id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. (severity 16) in C:\AppServ\www\1799\report_business1.php on line 17

Warning: mssql_query() [function.mssql-query]: Query failed in C:\AppServ\www\1799\report_business1.php on line 17
Error Query [SELECT detail.*,service.*,COUNT(detail.bg) AS countname FROM service LEFT JOIN detail ON service.ser_no = detail.id WHERE service.bg_no=55 GROUP BY detail]

Code (PHP)
$strSQL="SELECT detail.*,service.*,COUNT(detail.bg) AS countname FROM service LEFT JOIN detail ON service.ser_no = detail.id WHERE service.bg_no=55 GROUP BY detail

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 20:17:50 By : MyZeus
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

การ GROUP BY จะต้อง GROUP BY ตามจำนวนที่ SELECT ครับ

Go to : SQL GROUP BY
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 20:30:26 By : webmaster
 


 

No. 10



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



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

$strSQL="SELECT detail.*,service.*,COUNT(detail.bg) AS countname FROM service LEFT JOIN detail ON service.ser_no = detail.id WHERE service.bg_no=55 GROUP BY detail.*,service.*";

Error อยู่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 20:59:44 By : MyZeus
 


 

No. 11



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

GROUP BY น่าจะใช้ .* ไม่ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 21:10:18 By : webmaster
 


 

No. 12



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

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

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


ถ้าจะ select อย่างนั้นก็ต้อง group by มันทุกฟิลด์เลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 21:13:34 By : PlaKriM
 


 

No. 13



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



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

Code (PHP)
$strSQL="SELECT detail.service,detail.bg,service.ser_no,service.ser_name,service.bg_no,COUNT(detail.bg) AS countname FROM service LEFT JOIN detail ON service.ser_no = detail.id WHERE service.bg_no=55 GROUP BY detail.id,detail.service,detail.bg,service.ser_no,service.ser_name,service.bg_no";


ทำไมผลลัพธ์มันไม่ยอมไป COUNT ว่า detail.service มีกี่รายการของ detail.bg อะครับ ผลลัพธ์ออกมาคือ 0 ทุกรายการเลย

149 ผลิตภัณฑ์น้ำ 55 0
150 ผลิตภัณฑ์เครื่องดื่มสำเร็จรูป 55 0
151 ผลิตภัณฑ์เครื่องดื่มผสม 55 0
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-16 21:24:32 By : MyZeus
 


 

No. 14



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



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

เงียบเลยอ่าา - -* จะให้ detail.service ไปนับว่ามีรายการของ detail.bg ไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-17 08:28:35 By : MyZeus
 


 

No. 15



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



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

ไม่มีใครตอบเลย ขอขุดหน่อยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-17 15:46:42 By : MyZeus
 


 

No. 16



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



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

มีใครช่วยได้มั้งครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-17 19:41:36 By : MyZeus
 


 

No. 17



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



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

ช่วยดูหน่อยคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-19 08:15:41 By : MyZeus
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีปัญหาในการ Search แล้วมา COUNT ครับ รบกวนช่วยดูหน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
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 อัตราราคา คลิกที่นี่