0

私は3つのテーブルを持っています。

table1 = anlass
table2 = stammdaten_beziehungen
table3 = parameter_zuweisungen_anl

それは私にこのエラーを与えました:サブクエリは複数の行を返します

しかし、私が必要としているのは、すべての「BeziehKuBez」コンマが1つの列に分かれていることです。
例えば。Beziehname1、Beziehname2、..。

でテストした場合は、CONCAT_WS(',', BeziehKuBez)。しかし、私に同じものをください。whileループでこれを行うことはできますか?しかし、私は方法がわかりませんか?!

更新:グレッグの答え について:

GROUP_CONCAT()彼にと同じ出力を与えますconcat()

「Anlass」ごとに1つの名前のみ。ただし、1つの「Anlass」に対して複数の名前をコンマで区切る必要があります。

テーブル構造:

テーブルアンラス:

AnlID、anlass_name

テーブルStammdaten_beziehungen

BeziehID、Beziehkubez

テーブルParameter_zuweisung_anl

ZuwAnlID、ZuwAnlAnlNr、ZuwAnlBeziehID

INFOZuwAnlAnlNr は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
4

1 に答える 1

1

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 ?
于 2009-10-02T14:46:58.150 に答える