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

Registered : 107,306

HOME > PHP > PHP Forum > SELECT Count ตารางที่ไม่มีข้อมูลให้คืนค่า 0 ไม่ทราบต้องแก้ไขอย่างไรครับ





 

SELECT Count ตารางที่ไม่มีข้อมูลให้คืนค่า 0 ไม่ทราบต้องแก้ไขอย่างไรครับ

 



Topic : 109871



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



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




ผมใช้ Mysql 5.0.51a ครับ ทำการสร้างตาราง 2 ตาราง
tbl_item ประกอบด้วย
- id
- name
- user
tbl_like ประกอบด้วย
- id
- refid
- user
- like

ผมลองใช้คำสั่ง SQL ดังนี้ครับ
SELECT tbl_item.id, tbl_item.`name`, tbl_item.`user`, COUNT(tbl_like.refid) AS c FROM tbl_like INNER JOIN tbl_item ON tbl_like.refid = tbl_item.id WHERE tbl_like.`status` <> '0' GROUP BY tbl_like.refid ORDER BY c DESC

ผลปรากฎว่าจะนับเฉพาะ tbl_like ที่มี refid อ้างอิงอยู่ครับ แต่ผมอยากเพิ่มเงื่อนไขว่าถ้าไม่พบค่าให้แสดงเลข 0 ครับ ไม่ทราบว่าต้งแก้ไขส่วนไหนบ้างครับ



Tag : PHP, MySQL, Ajax, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-10 23:14:37 By : chudjane_th View : 1173 Reply : 5
 

 

No. 1



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



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


Code (SQL)
SELECT tbl_item.*, COUNT(coalesce( tbl_like.refid, 0)) AS c FROM tbl_like 
INNER JOIN tbl_item ON tbl_like.refid = tbl_item.id 
WHERE tbl_like.`status` <> '0' 
GROUP BY coalesce( tbl_like.refid, 0)
ORDER BY c DESC


ไม่แน่ใจว่าจะทำได้ตามต้องการหรือเปล่านะครับ
คำสั่ง coalesce(fieldname, default_for null ) เปลี่ยน null เป็นค่าที่กำหนด






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 07:44:02 By : Chaidhanan
 


 

No. 2



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



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


ยังไม่ขึ้นเลยครับ แต่ขอบคุณมากนะครับ

tbl_item

tbl_like

ผมต้องการให้เวลาค้นหาขึ้นแบบนี้ครับ
| id | name | like |
| 1 | abc | 2 |
| 2 | def | 0 |
| 3 | ghi | 0 |


ประวัติการแก้ไข
2014-07-11 12:10:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 12:08:16 By : chudjane_th
 

 

No. 3



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



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


Code (SQL)
SELECT t1.*, sum(coalesce( t2.like, 0)) AS c FROM t1 
left JOIN t2 on t2.refid = t1.id 
GROUP BY t1.id
ORDER BY c DESC

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 13:32:48 By : Chaidhanan
 


 

No. 4



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



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


ได้แล้วครับ ขอบพระคุณพี่ Chaidhanan มากๆ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 13:50:49 By : chudjane_th
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : chudjane_th เมื่อวันที่ 2014-07-11 13:50:49
รายละเอียดของการตอบ ::
ทำยังไงหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-25 11:22:04 By : meen
 

   

ค้นหาข้อมูล


   
 

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

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