Мне нужно выполнить запрос, например:Результаты MySQL, как разделенный запятыми список
SELECT p.id, p.name,
(SELECT name
FROM sites s
WHERE s.id = p.site_id) AS site_list
FROM publications p
Но я хотел бы суб-выбора, чтобы вернуть список через запятую, а не столбец данных. Возможно ли это, и если да, то как?
Великий Он работал для меня спасибо !!!!! – Devjosh
Также обратите внимание, что если вы используете PHPMyAdmin и хотите вывести на страницу список с разделителями-запятыми, используйте 'GROUP_CONCAT (CAST (s.name AS CHAR))', иначе он просто вернет нечто совершенно неиспользуемое, как ' [BLOB - 20 байт] '. – devios1
Цель - это хорошо, и MySQL это позволит, но будьте осторожны (как правило) с использованием GROUP BY. Элементы в списке выбора должны быть действительными агрегатами в контексте предложения GROUP BY. В этом случае p.name не является строго верным. Любая база данных, соответствующая стандарту SQL, будет рассматривать это как ошибку. Для этого случая либо используйте MAX (p.name) в списке выбора, либо добавьте p.name в предложение GROUP BY. Поскольку Павел, вероятно, означает, что p.id представляет первичный или уникальный ключ, добавление p.name в предложение GROUP BY не окажет никакого влияния на конечный результат. –