我有三个桌子。
table1 = anlass table2 = stammdaten_beziehungen table3 = parameter_zuweisungen_anl
It gaves me this ERROR: Subquery returns more than 1 row
But what i need, is all 'BeziehKuBez' Comma separated in one column.
eg. Beziehname1, Beziehname2, ...
If have test it with, CONCAT_WS(',', BeziehKuBez)
. But give me the same one. Could I do this with a while loop? But I dont know how?!
Update:Regarding Greg's answer:
GROUP_CONCAT()
gives he same output as concat()
.
Only one name per "Anlass". But i need, Multiple names comma separated for one "Anlass".
TABLE STRUCTURE:
Table Anlass:
AnlID, anlass_name
Table Stammdaten_beziehungen
BeziehID, Beziehkubez
Table Parameter_zuweisung_anl
ZuwAnlID, ZuwAnlAnlNr,ZuwAnlBeziehID
INFOZuwAnlAnlNr linked to Anlass.AnlIDZuwAnlBeziehID linked to Beziehung.BeziehID
This is my query:
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
最佳答案
我认为您正在寻找GROUP_CONCAT。您还应该按以下内容分组:
SELECT GROUP_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 ZuwAnlID = Anlass.AnlID
GROUP BY ?