私は把握する次のクエリを取得できません。複数の列にMySQL JOIN BY
私は3つのテーブルを持っています。
国旗
id flag
---------------
1 Belgium
2 France
色
id color
---------------
1 Red
2 Yellow
3 Blue
4 Black
5 White
Flag_Colors私は次のような結果を取得したい
id flag_id color_id
------------------------
1 1 1
2 1 2
3 1 4
4 2 1
5 2 5
6 2 3
:
事前にSELECT
f.flag, c.color as color_1
FROM
flags f
LEFT JOIN
flag_colors fc
ON fc.flag_id = f.id
LEFT JOIN
colors c
ON c.id = fc.color_id
GROUP BY f.id
ありがとう:
Flag Color_1 Color_2 Color_3
----------------------------------------
Belgium Red Yellow Black
France Red White Blue
は、これまでのところ、私は次のよう持っています。
ピボットクエリだし、MySQLはそれらを直接サポートしていません。フィールドリストのジョインやさまざまなif/caseステートメントで対処できますが、非常に醜い、非常に速くなります。標準クエリを実行し、クライアント側コードで行→列変換を行います。 –