MYSQLで、下記のテーブルを結合してデータを表示したいのですが、どのようにしたら良いでしょうか?
メインテーブル
フィールド1/フィールド2/フィールド3/フィールド4
テスト/1/2/3
サブテーブル
フィールド1/フィールド2
1/赤
2/青
3/紫
表示
テスト/赤(メインテーブルのフィールド2とサブテーブルのフィールド1のデータが一致してサブテーブルのフィールド2のデータを出力)/青(メインテーブルのフィールド3とサブテーブルのフィールド1のデータが一致してサブテーブルのフィールド2のデータを出力)/紫(メインテーブルのフィールド4とサブテーブルのフィールド1のデータが一致してサブテーブルのフィールド2のデータを出力)/
こちらでいかがでしょうか?
select m.フィールド1 as f1,
(select s.フィールド2 as f2
from サブテーブル s
where s.フィールド1 = m.フィールド2),
(select s.フィールド2 as f3
from サブテーブル s
where s.フィールド1 = m.フィールド3),
(select s.フィールド2 as f4
from サブテーブル s
where s.フィールド1 = m.フィールド4)
from メインテーブル m
コメント(0件)