Как предотвратить создание результата GROUP_CONCAT при отсутствии входных данных?

Дан следующий запрос MySQL:

SELECT
  `show`.`id`
  , GROUP_CONCAT( `showClips`.`clipId` ORDER BY `position` ASC ) AS 'playlist'
FROM
  `show`
  INNER JOIN
    `showClips`
      ON
        ( `show`.`id` = `showClips`.`showId` )
;

Я хочу получить список всех "шоу" из базы данных, включая идентификаторы содержащихся "клипов".

Это работает нормально, пока есть записи в таблице show. Для решения этой задачи предположим, что все таблицы полностью пусты.

GROUP_CONCAT вернет NULL и таким образом заставит строку попасть в результат (который содержит только NULL значения).

После этого мое приложение будет считать, что существует одно шоу/результат. Но этот результат будет недействительным. Это, конечно, можно проверить, но мне кажется, что это можно (и нужно) предотвратить уже в запросе.

20
задан Der Hochstapler 6 September 2010 в 15:24
поделиться