首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2表查询专用协议

2表查询专用协议
EN

Stack Overflow用户
提问于 2015-10-12 10:53:13
回答 2查看 29关注 0票数 0

我有一个搜索结果查询,我需要修改,这样它就不会显示已经售出的产品。下面是当前存在的未修改的select语句:

代码语言:javascript
复制
SELECT id, cid, sid, posttitle, postdetails, city, `state`, zipcode 
FROM posts 
ORDER BY datepublished DESC

我需要修改它,以便它看起来像orderdetails table underDetailProductID`‘,看看它是否存在,现在是否存在;因此,在英语中,本质上应该是这样的:

代码语言:javascript
复制
SELECT id, cid, **etc** 
FROM posts 
WHERE posts.id NOT IN orderdetails.DetailProductID
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-12 11:00:47

代码语言:javascript
复制
SELECT 
id, cid, sid, posttitle, postdetails, city, state, zipcode 
FROM posts 
where posts.id not in (select DetailProductID from orderdetails)
ORDER BY datepublished DESC

或者使用巧妙的左联接

代码语言:javascript
复制
SELECT 
posts.id, posts.cid, posts.sid, posts.posttitle, posts.postdetails, posts.city, posts.state, posts.zipcode 
FROM posts 
LEFT JOIN orderdetails ON orderdetails.DetailProductID = posts.id
where orderdetails.DetailProductID is null
ORDER BY posts.datepublished DESC
票数 0
EN

Stack Overflow用户

发布于 2015-10-12 10:56:42

代码语言:javascript
复制
SELECT id, cid, etc from posts WHERE posts.id NOT IN (Select DetailProductID from orderdetails)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33079321

复制
相关文章

相似问题

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