我有3個表格:Products
,ProductProperties
,Properties
。我需要獲得所有沒有「物業B」的產品。表:獲取沒有連接的記錄
# 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要返回。
是否有可能在單個數據庫查詢中獲得所有必需的產品?什麼最小的查詢可能實現呢?
編輯。考慮子查詢的查詢不好。
這只是簡單的'ol不會工作。產品。ID永遠不會是NULL - 因爲這是FROM子句所在的表,並且沒有RIGHT/FULL連接。 –
馬克,你說得對。 Lester的答案有一個錯誤:在第5行應該是'Join_Table.Property_ID'而不是'Products.ID'。 – gmile
是的,我想我當然是指右連接,但我最好在編輯之前再次瀏覽一遍。 – LesterDove