我有2个表product_product
和product_location_stock
。
表product_product
与product_location_stock
没有任何关系
product_location_stock
有product_id
列,它与product_product
我的目标是获取所有没有product_location_stock
有些产品分配给product_location_stock,有些则没有,所以基本上我需要获取那些没有的产品。
所以首先我想我需要获得所有的product_id,例如
SELECT id FROM product_product
及之后
SELECT product_id from product_loction_stock
也许然后比较ID并获得不匹配的ID?
然后我有点被困住了,所以甚至有可能实现我想要的?
答案 0 :(得分:3)
NOT EXISTS
是将您的需求直接转换为SQL:
SELECT product_product.id
FROM product_product
WHERE NOT EXISTS
(SELECT 1
FROM product_location_stock
WHERE product_location_stock.product_id = product_product.id);
答案 1 :(得分:2)
下面的代码可能会对您有所帮助。
SELECT P.product_id FROM product_product P
left join product_location_stock PL ON PL.product_id =P.product_id
WHERE PL.product_id IS NULL