Използвайте 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
Както казах, това би трябвало да работи, но нещо в него не изглежда съвсем правилно.