我需要过滤下面的任何行,其中 订单#出现时有多个代表,我们希望在日期时间内列出清单 这样
order# Ordrep orddate ordtime ordsalescodes
123 222 20150501 080000 CHT
123 333 20150501 060000 WEB
123 333 20150505 110000 sls
这里我们想要代表333行而不是任何其他代表,但我们确实需要所有333行。
Select Ord.Num
,Ord.date
,Ord.Time
,Ord.Amt
,Ord.Rep
,Ord.SalesCode
FROM OrdersTable
答案 0 :(得分:0)
如果没有旧行具有相同的订单#:
,请选择一行select Ord.Num
,Ord."date"
,Ord."Time"
,Ord.Amt
,Ord.Rep
,Ord.SalesCode
FROM OrdersTable Ord
WHERE NOT EXISTS (select 1 from OrdersTable ord2
where Ord.Num = ord2.Num
and (Ord2."date" < Ord."date"
or (Ord2."date" = Ord."date"
and Ord2."time" < Ord."time")))
请注意,日期和时间是标准SQL中的保留字,这就是它们在上面“分隔”的原因。
另外,为什么要为日期和时间分隔列?我会为时间戳添加一列。