Biorąc pod uwagę następujące zapytanie MySQL:Jak zapobiec tworzeniu GROUP_CONCAT wyniku, gdy nie ma danych wejściowych?
SELECT
`show`.`id`
, GROUP_CONCAT(`showClips`.`clipId` ORDER BY `position` ASC) AS 'playlist'
FROM
`show`
INNER JOIN
`showClips`
ON
(`show`.`id` = `showClips`.`showId`)
;
Chcę pobrać listę wszystkich „show” z bazy danych, w tym identyfikatory zawartych „klipy”.
Działa to dobrze, o ile istnieją pozycje w tabeli show
. W tym przypadku załóżmy, że wszystkie tabele są całkowicie puste.
GROUP_CONCAT
zwróci NULL
i tym samym wymusi na wynikach wiersz (który zawiera tylko wartości NULL
).
Moja aplikacja będzie wtedy myśleć, że jeden program/wynik istnieje. Ale ten wynik będzie nieważny. Można to oczywiście sprawdzić, ale uważam, że to powinno (i powinno) być już zablokowane w zapytaniu.
Dzięki. Będę nazywać odpowiedź Daniela jako odpowiedź, ponieważ wydawał się być drugi szybszy. –