我有三个桌子。

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 ?

10-08 01:36