嗨,我可以使用innner从产品和价格表中检索结果:
SELECT product.name, price.code, price.price FROM product
INNER JOIN price ON product.productid=price.productid;这里一切都很好。
然而,我有另一个表,称为项目,其中有一个代码列表,也在价格表(如price.price)。
我想通过使用WHERE来显示不在items表中的产品,所以我尝试了一个子查询:
SELECT product.name, price.code, price.price FROM product
INNER JOIN price ON product.productid=price.productid
WHERE code NOT IN (select code from items);我的比较条件是基于价格表和项目表中的代码。我得到了一个空的集合,所以不知道我需要做什么来纠正这个问题?
干杯
发布于 2014-12-22 13:56:49
不确定查询的问题是什么,但是在使用null谓词时,IN值有一个可能的问题,如果code有任何可为空的值,条件将是假的,因为值是未知的,所以如果尝试left join是安全的:
SELECT product.name, price.code, price.price
FROM product
INNER JOIN price ON product.productid=price.productid
LEFT JOIN items ON items.code = price.code
WHERE items.code IS NULLhttps://stackoverflow.com/questions/27604078
复制相似问题