У меня есть три таблицы.Mysql Несколько Concat Inner Join, дайте только имя
table1 = anlass table2 = stammdaten_beziehungen table3 = parameter_zuweisungen_anl
Это Гав мне эту ошибку: подзапрос возвращает более чем на 1 строку
Но что мне нужно, это все «BeziehKuBez», разделенных запятыми в одной колонке.
например. Beziehname1, Beziehname2, ...
Если у вас есть тест, то CONCAT_WS(',', BeziehKuBez)
. Но дайте мне то же самое. Могу ли я сделать это с помощью цикла while? Но я не знаю, как ?!
Update: Что касается Greg's answer:
GROUP_CONCAT()
дает ситемы такой же вывод, как concat()
.
Только одно имя для «Превосходство». Но мне нужно, Несколько имен разделяются запятыми для одного «Anlass».
ТАБЛИЦА СТРУКТУРА:
Таблица Anlass:
AnlID, anlass_name
Таблица Stammdaten_beziehungen
BeziehID, Beziehkubez
Таблица Parameter_zuweisung_anl
ZuwAnlID, ZuwAnlAnlNr, ZuwAnlBeziehID
INFO ZuwAnlAnlNr связаны с Anlass.AnlID ZuwAnlBeziehID, связанные с Beziehung.BeziehID
Это мой запрос:
SELECT CONCAT(`BeziehKuBez`) AS Bezname
FROM `stammdaten_beziehungen` AS Beziehung, `anlass` AS anlass
INNER JOIN `parameter_zuweisungen_anl`
ON Beziehung.BeziehID = parameter_zuweisungen_anl.ZuwAnlBeziehID
WHERE ZuwAnlAnlNr = Anlass.AnlID
его же на выходе, только одно имя в строке. У меня есть таблица «parameter_zuweisung_anl» с идентификаторами от «anlass» и «Beziehung». "Beziehung" имеет столбец с именем. Это имя должно быть связано с «Превосходным». – Mahoni
Вы сделали GROUP BY Anlass.AnlID? – Greg
hi, thx for yor spended time;) это было не «WHERE ZuwAnlID = Anlass.AnlID», я исправил их. Это правильный вариант «WHERE ZuwAnlAnlNr = Anlass.AnlID». Но все же mysql дал мне ошибку вроде: Subquery возвращает более 1 строки. mhmm, ВСЕ или ЛЮБОЙ Не работает?! – Mahoni