Použijte COALESCE()
funkce. COALESCE()
vezme alespoň 2 argumenty, vypočítané v pořadí, a vrátí první nenulový argument. Takže COALESCE(null, 0)
vrátí 0
a COALESCE(null, null, null, null, 1)
vrátí 1
. Zde je dokumentace MySQL
o COALESCE()
.
Při opětovném čtení dotazu měli byste být schopni dosáhnout požadovaných výsledků takto:
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
Jak jsem řekl, mělo by to fungovat, ale něco na tom není úplně v pořádku.