我有个人假期表,比如'M109'。 在特定日期,他休假1小时午餐和4小时会议。
例如
现在我需要隐藏这个1小时的午餐元组,只获得会议元组。 我怎么能这样做?
table(Person(varchar), StartTime, EndTime, Date, Desciption)
是架构。
到目前为止我的查询:
select "Provider", sum(b."EndTime" - b."StartTime")/60 as Non
from VACATION b
where b."StartDate" = '18-FEB-13'
and b."StartTime" IN (select p."StartTime"
from axium.VACATION p
where Exists (select q."StartTime"
from axium.VACATION q
where p."Provider" = q."Provider"
and q."StartTime" <> p."StartTime"
and q."StartTime" between p."StartTime"
and p."EndTime"
)
)
and b."Provider" = 'M1009'
group by b."Provider"
order by b."Provider";
答案 0 :(得分:0)
您可以使用where
子句和相关子查询执行此操作:
select *
from t
where not exists (select 1 from t t2 where t2.person = t.person and t2.starttime < t.starttime and t2.endtime > t.endtime)