sql - 选择在第二个表上没有关联产品的记录
问题描述
我有两张桌子:
表 PL:
夹层 | 名称 |
---|---|
1 | 爱丽丝 |
2 | 约翰 |
3 | 丹妮尔 |
和表 PLproducts
夹层 | 产品标识符 |
---|---|
1 | 会员资格 |
1 | 生活 |
1 | 牙科 |
2 | 会员资格 |
3 | 会员资格 |
3 | 生活 |
3 | 汽车 |
我需要找到那些 productIdentifier 不包含“dental”的 plid
预期成绩:
夹层 | 名称 |
---|---|
2 | 约翰 |
3 | 丹妮尔 |
如果我为 PLproducts <> 'dental' 外部加入,我会得到所有不包含 'dental' 的记录,但这不是我要找的。
我以前从未发现过这种情况。我知道这可能是一个简单的问题。
谢谢你们。
解决方案
你正在寻找不存在的东西
select *
from pl
where not exists (
select * from plProducts p
where p.plid = pl.plid and p.productidentifier = 'dental'
);
推荐阅读
- apache-camel - Spring Coud Sleuth/Apache Camel 导致 ActiveMQ 消息体丢失
- python - IndexError:索引 -9223372036854775808 超出尺寸 2 的维度 1
- python - 无法在 Discord 中编辑机器人自己的消息
- mdx - MDX 查询帮助 - 评估条件度量计算的维度值
- c# - C#类看不到另一个类的静态方法
- replication - Gerrit 复制总是在重新调度
- node.js - 我只能将我的 react 本机应用程序的服务器端部署到 Heroku 吗?
- node.js - nodejs读取json并忽略第一次出现的重复值
- node.js - NodeJS malloc():损坏顶部大小
- c# - 如何解决 VSTO Word Addin 项目中的错误“值超出范围”