我有两列product_id和category_id. 我想全选product_id没有的category_id = 90
我使用此查询,但它返回 null。我究竟做错了什么?
SELECT *
FROM `oc_product_to_category`
WHERE NOT EXISTS (
SELECT *
FROM `oc_product_to_category`
WHERE category_id = 90
)
Run Code Online (Sandbox Code Playgroud)
您没有关联内部和外部查询。如果category_id = 90内部查询至少有一个产品将返回一些行,因此NOT EXISTS条件将始终为假,而外部查询将不返回任何行。您需要添加一个条件来指定内部查询和外部查询引用同一个产品:
SELECT *
FROM `oc_product_to_category` a
WHERE NOT EXISTS (
SELECT *
FROM `oc_product_to_category` b
WHERE category_id = 90 AND
a.product_id = b.product_id -- Here!
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15243 次 |
| 最近记录: |