Usa il COALESCE() funzione. COALESCE() accetta almeno 2 argomenti, calcolati in ordine e restituisce il primo argomento non nullo. Quindi COALESCE(null, 0) restituirebbe 0 e COALESCE(null, null, null, null, 1) restituirebbe 1 . Ecco documentazione di MySQL
su COALESCE() .
Nel rileggere la tua domanda, dovresti essere in grado di ottenere i risultati desiderati in questo modo:
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
Come ho detto, dovrebbe funzionare, ma qualcosa al riguardo non sembra del tutto corretto.