我有一张桌子
Orders
ID User
-----------------
1 Matt
2 Chris
3 John
然后我有另一张桌子
Order_Contact
ID Order_ID Type Timestamp
-------------------------------------------------------------------
1 1 Request 2018-01-01 10:00:00
2 1 Request 2018-01-01 10:35:00
3 1 Response 2018-01-01 11:00:00
4 1 Request 2018-01-01 12:00:00
5 2 Request 2018-01-01 13:00:00
6 2 Response 2018-01-01 14:00:00
我的目标是创建一个查询,返回所有具有“打开”联系请求但没有响应的订单。一个响应足以满足多个请求。在晚于请求的日期时间没有响应的请求是“开放的”。我怎么能做到这一点?
在上述情况下,我想返回
ID User
----------------
1 Matt
检查此查询
select
Orders.ID, Orders.[User]
from (
select
*, max([Timestamp]) over (partition by Order_ID) maxDate
from
Order_Contact
) t
join Orders on t.Order_ID = Orders.ID
where
t.maxDate = t.[Timestamp]
and t.[Type] = 'Request'
由于问题的变化而更新了查询
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句