我有一个包含很多列和行的表,例如以下示例:
我正在尝试查找部分完成的订单,以便对于具有Item Line
值的订单至少有一个Goods Issue Date
记录,对于没有Item Line记录>价值。我可以轻松获得根本没有发货日期的订单,但是我需要知道一些带有日期的项目行而没有日期的项目行。
查看上面的示例数据,我应该只看到订单1的结果,因为订单2,3和5都已完全完成,而订单4尚未开始。
最佳答案
SELECT
*
FROM
theTable t1
WHERE
t1.`Goods Issue Date` IS NULL
AND EXISTS ( SELECT
*
FROM
theTable t2
WHERE
t2.`Order` = t1.`Order`
AND t2.`Goods Issue Date` IS NOT NULL );
DEMO
如果
IN
是不可为空的,也可以使用简单的Order
SELECT *
FROM theTable
WHERE `Goods Issue Date` IS NULL
AND `Order` IN (
SELECT `Order`
FROM theTable
WHERE `Goods Issue Date` IS NOT NULL
)
关于mysql - SQL查询,检查在A列中具有相同值的单元格在B列中是否具有相同的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34438783/