sql - 仅当所有子对象都符合条件时才选择
问题描述
有一个订单表和一个内容表。每个订单包含存储在内容表中的多个项目,并以订单号连接。订单表包含订单号。内容表包含多个项目,每个记录具有订单号和项目状态列。我需要一个查询,该查询将输出不同的订单号,其中所有项目都应具有已完成的状态。
我试过这个
SELECT O.O_NUM FROM ORDER O, CONTENT C WHERE C.STATUS=DONE
但这将返回订单号,即使任何一个内容项状态已完成。
解决方案
SELECT Orders.OrderNumber
FROM Orders
WHERE NOT EXISTS ( SELECT NULL
FROM Content
WHERE Orders.OrderNumber = Content.OrderNumber
AND Content.Status != 'Done' )
推荐阅读
- spring - 分段上传时出错:resteasy 和 jersey 都
- html - 如何在jQuery中检查“this”元素的类
- c# - 有没有办法在 C# 中读取主要 xml 标签的名称?
- sql - 在 where 子句中使用 NOW
- r - 熔岩错误 - 没有计算标准错误 - R
- python - pandas 将数据帧与多索引合并
- android - generateSafeArgsDebug 任务执行时出错,XmlPullParserException 只允许空白内容
- c# - Program.cs 中的 .NET Core Worker Serilog 日志记录
- powerbi - 从一个 PBIX 文件服务多个客户
- java - 如何从java中的字符串列表(排序)返回第一个非空字符串值