如果eeid和日期只有一个来自paycode id的值,则返回行



如果eeid在同一日期没有其他payid,我将尝试在时间=0的情况下提取payid。

payid时间669//tr>66906690669
日期 eeid
2022年1月10日 1230
2022年1月10日 123 146 10
2022年1月10日 456
2022年2月10日 456
2022年3月10日 4560
2022年3月10日 456 146 10

您可以使用not exists筛选出存在具有相同(eeid, date)和非0time的另一行的行。

select t.*
from mytable t
where t.time = 0 and not exists (
select 1
from mytable t1
where t1.eeid = t.eeid and t1.date = t.date and t1.time > 0
)

DB Fiddle 演示

从技术上讲,我们甚至不需要在where子句中过滤time,这就足够了:

select t.*
from mytable t
where not exists (
select 1
from mytable t1
where t1.eeid = t.eeid and t1.date = t.date and t1.time > 0
)

相关内容

最新更新