Użyj COALESCE()
funkcjonować. COALESCE()
przyjmuje co najmniej 2 argumenty, obliczone w kolejności, i zwraca pierwszy niepusty argument. Więc COALESCE(null, 0)
zwróci 0
i COALESCE(null, null, null, null, 1)
zwróci 1
. Oto dokumentacja MySQL
o COALESCE()
.
Czytając ponownie zapytanie, powinieneś być w stanie uzyskać żądane wyniki w ten sposób:
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
Tak jak powiedziałem, to powinno działać, ale coś w tym jest nie tak.