Sử dụng COALESCE()
hàm số. COALESCE()
nhận ít nhất 2 đối số, được tính theo thứ tự và trả về đối số không rỗng đầu tiên. Vì vậy, COALESCE(null, 0)
sẽ trả về 0
và COALESCE(null, null, null, null, 1)
sẽ trả về 1
. Đây là Tài liệu của MySQL
về COALESCE()
.
Khi đọc lại truy vấn của mình, bạn nên có thể nhận được kết quả bạn muốn như sau:
SELECT <all the fields you want>, b.songsID, COUNT(*) AS projects_count
FROM $sTable b
LEFT OUTER JOIN $sTable2 bb ON bb.songs_id = b.songsID
$sWhere
GROUP BY b.songsID
$sOrder
$sLimit
Như tôi đã nói, điều này sẽ hoạt động, nhưng có điều gì đó không ổn.