GROUP BY только тогда, когда столбец не является пустым / пустым - PullRequest
0 голосов
/ 28 сентября 2018

Я получаю эту ошибку из-за оператора GROUP BY.

У вас есть ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'CASE WHEN a.link! =' 'THEN a.filimo_link END

Я хочу сгруппировать только, когда a.link не пусто.Так что не группируйте пусто.Что не так с моим запросом

SELECT b.name as name, a.title, a.id
FROM (`all_media` a)
LEFT JOIN `admins` b ON `b`.`id`=`user_id`
WHERE `a`.`approved` =  0
GROUP BY `a`.`link` CASE WHEN a.link !='' THEN a.link END
ORDER BY `a`.`filename`

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Попробуйте это ..

SELECT b.name as name, a.title, a.id
FROM (`all_media` a)
LEFT JOIN `admins` b ON `b`.`id`=`user_id`
WHERE `a`.`approved` =  0
GROUP BY `a`.`link` HAVING a.link IS NOT NULL
ORDER BY `a`.`filename'

Надеюсь, это поможет.

0 голосов
/ 28 сентября 2018

Должно быть значение для group by в else part. Или использовать другой столбец в комбинации с group by.

SELECT b.name as name, a.title, a.id
FROM (`all_media` a)
LEFT JOIN `admins` b ON `b`.`id`=`user_id`
WHERE `a`.`approved` =  0
GROUP BY `a`.`link` CASE WHEN a.link IS NOT NULL THEN a.link ELSE '' END
ORDER BY `a`.`filename`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...