Usa el COALESCE()
función. COALESCE()
toma al menos 2 argumentos, calculados en orden, y devuelve el primer argumento no nulo. Entonces COALESCE(null, 0)
devolvería 0
y COALESCE(null, null, null, null, 1)
devolvería 1
. Aquí está la documentación de MySQL
sobre COALESCE()
.
Al volver a leer su consulta, debería ser capaz de obtener los resultados que desea de esta manera:
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
Como dije, esto debería funcionar, pero algo al respecto no se siente del todo bien.