質問

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

テーブル 1 には、列 ID2 のテーブル 2 に関連する列 ID があります。

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

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

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

TABLE1 からユーザー、名前を選択、TABLE1.id = TABLE2.id で TABLE2 を左結合

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

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

等....

役に立ちましたか?

解決

あなたが探しているのは、 グループコンキャット オペレーター。

select user, GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top