Използвайте COALESCE()
функция. COALESCE()
приема поне 2 аргумента, изчислени в ред, и връща първия ненулев аргумент. Така че COALESCE(null, 0)
ще върне 0
и COALESCE(null, null, null, null, 1)
ще върне 1
. Ето документацията на MySQL
относно COALESCE()
.
При повторно четене на заявката си, вие трябва можете да получите желаните от вас резултати по следния начин:
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
Както казах, това би трябвало да работи, но нещо в него не изглежда съвсем правилно.