Return 未发货的行数

Return the rows which are not shipped

我需要 return 行未根据请求发货。

如果请求是我需要 3 层,那么我需要检查发货状态和 return 层,根据类型未发货。这里类型 'o' 是总层数 's' 已经发货

输出 1003 1004 1001

您可以使用 anti-join。例如:

select a.*
from mytable a
left join mytable b on b.id = a.id and b.type = 's'
where a.type = 'o' and b.type is null

结果:

 id  layer  type 
 --- ------ ---- 
 1   1001   o    
 2   1002   o    
 3   1003   o    

参见 db<>fiddle 中的 运行 示例。