我正在尝试从名为 products 的表中提取产品,我还有一个名为 product_ranges 的表。
products
--------
id
name
model
product_ranges
--------------
id
product_id
other_id
SELECT p.id
FROM products As p
LEFT JOIN product_ranges As pr ON (pr.product_id = p.id AND pr.other_id = 16)
这将选择所有产品并包括 product_ranges 表列,如果产品存在于其中但如果它确实存在于此表中并且 other_id 不等于 16 我不希望产品出现在返回的结果中,但如果产品在另一个表中根本不存在我仍然希望它在结果中。
我确信我在几年前就已经完成了,但想不出它的 SQL - 如果有人知道正确的查询,我将不胜感激,谢谢。