Use o
COALESCE()
função. COALESCE()
recebe pelo menos 2 argumentos, calculados em ordem, e retorna o primeiro argumento não nulo. Então COALESCE(null, 0)
retornaria 0
e COALESCE(null, null, null, null, 1)
retornaria 1
. Aqui está a documentação do MySQL
sobre COALESCE()
. Ao reler sua consulta, você deve ser capaz de obter os resultados desejados assim:
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 eu disse, isso deve funcionar, mas algo sobre isso não parece certo.