環境
mariadb:10.4
わからないこと
3つの多対多のテーブルがあります。
sql
1SELECT * FROM address;
sql
1SELECT * FROM type;
sql
1SELECT * FROM address_type;
addressとtypeはどちらも増えていきます。
やりたいこと(抽出条件)
address.nameが'a1@d1','a4@d1','a5@d1','a6@d1'であること
かつ
address_type.type_idが1と3だけを持つもの。
テストデータですと、'a4@d1'だけを抽出したいです。
やったこと
sql
1SELECT * FROM address_type t left outer join address a on t.address_id = a.id 2WHERE 3 a.name IN ('a1@d1','a4@d1','a5@d1','a6@d1') 4 -- AND (t.type_id = 1 AND t.type_id=3); -- これだとなにも出力されない
上記を考えたのですがダメでした。。
どうしたらいいのか。。。困っています。。
address_type.type_idが1と3だけを持つもの。
に関して1だけ、3だけの場合は対象になるのですか?
例えばaddress_id:7,type_id:1の1行だけみたいなパターンは?
あ、1とかがそのパターンでしたね。1と3の両方が必要ということで理解しました。
回答3件
あなたの回答
tips
プレビュー