首页
学习
活动
专区
圈层
工具
发布

EN

Stack Overflow用户
提问于 2014-12-22 13:53:41
回答 1查看 59关注 0票数 0

嗨,我可以使用innner从产品和价格表中检索结果:

代码语言:javascript
复制
SELECT product.name, price.code, price.price FROM product 
INNER JOIN price ON product.productid=price.productid;

这里一切都很好。

然而,我有另一个表,称为项目,其中有一个代码列表,也在价格表(如price.price)。

我想通过使用WHERE来显示不在items表中的产品,所以我尝试了一个子查询:

代码语言:javascript
复制
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);

我的比较条件是基于价格表和项目表中的代码。我得到了一个空的集合,所以不知道我需要做什么来纠正这个问题?

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-22 13:56:49

不确定查询的问题是什么,但是在使用null谓词时,IN值有一个可能的问题,如果code有任何可为空的值,条件将是假的,因为值是未知的,所以如果尝试left join是安全的:

代码语言:javascript
复制
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 NULL
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27604078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档