5

次の関係を持つ 2 つのテーブルから 3 つの列を作成するクエリを作成する必要があります。

TABLE 1 には、列 ID2 の TABLE 2 に関連する列 ID があります。

表 1 には、user という列があります 表 2 には、names という列があります

一意のユーザーは 1 人である場合もありますが、そのユーザーには多数の名前が関連付けられている場合があります。

次の手順を実行すると、すべてのデータが取得されますが、関連付けられている名前ごとにユーザー列が繰り返されます。私が望むのは、一意に見えるようにすることですが、名前列は、次のように、ユーザー列に関連付けられているすべての名前がコンマで区切られて表示されます。

ユーザーを選択し、TABLE1 から名前を残して、TABLE1.id = TABLE2.id で TABLE2 を結合します。

これにより、そのユーザーの名前が表示されるたびに繰り返されるユーザーが表示されます。私が望むのは、次のように表示されることです:

ユーザー -
名前 サイレックス - ペドロックス、ランボー、ゼルダ ホームボーイ
- カルメン、カルロス、トム、サンドラ
ジェリー - サインフェルド、
クリスティーン ニンジャ - ソロボーイ

等....

4

1 に答える 1

15

探しているのはGROUP_CONCAT演算子です。

select user, GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user
于 2011-01-05T22:23:57.183 に答える