我有三个表。Mysql多个Concat内部加入,只给一个名称
table1 = anlass table2 = stammdaten_beziehungen table3 = parameter_zuweisungen_anl
这gaves我这个错误:子查询返回多个1行
,但我需要的,是所有“BeziehKuBez”逗号在一列隔开。
例如。 Beziehname1,Beziehname2,...
如果已经测试过,CONCAT_WS(',', BeziehKuBez)
。但给我一样的。我可以用一段时间来做这个吗?但我不知道如何?!
更新: 关于Greg's answer:
GROUP_CONCAT()
给他相同的输出concat()
。
每个“Anlass”只有一个名称。但我需要,多个名称逗号分隔为一个“Anlass”。
表结构:
表Anlass:
AnlID,anlass_name
表Stammdaten_beziehungen
BeziehID,Beziehkubez
表Parameter_zuweisung_anl
ZuwAnlID,ZuwAnlAnlNr,ZuwAnlBeziehID
信息 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”,ID是“anlass”和“Beziehung”。 “Beziehung”有一个名称列。 此名称必须链接到“Anlass”。 – Mahoni 2009-10-02 15:02:33
您是否是GROUP BY Anlass.AnlID? – Greg 2009-10-02 15:19:56
嗨,thx为你的时间加上;) 它不是“WHERE ZuwAnlID = Anlass.AnlID”我已经纠正它们。 这是正确的“WHERE ZuwAnlAnlNr = Anlass.AnlID”。 但是,MySQL给了我一个错误,如:子查询返回多于一行。 mhmm,ALL或ANY不工作?! – Mahoni 2009-10-02 15:30:58