私は3つのテーブルを持っています:Products
、、。「プロパティB」を持たないすべての製品を取得する必要があります。テーブル:ProductProperties
Properties
# Products # Join table # Properties
+----+-----------+ +------------+-------------+ +-------------+---------------+
| id | name | | product_id | property_id | | property_id | property_name |
+----+-----------+ +------------+-------------+ +-------------+---------------+
| 1 | Product 1 | | 1 | 1 | | 1 | Propeprty A |
| 2 | Product 2 | | 1 | 2 | | 2 | Propeprty B |
| 3 | Product 3 | | 2 | 1 | +-------------+---------------+
+----+-----------+ | 2 | 2 |
| 3 | 1 |
+------------+-------------+
この特定のケースでは、製品3が返されることを期待しています。
単一のデータベースクエリ内で必要なすべての製品を取得することは可能ですか?それを達成するために可能な最小のクエリは何ですか?
編集済み。サブクエリを含むクエリは不良と見なされます。