【发布时间】:2021-03-01 20:10:33
【问题描述】:
我有以下数据:
Invoice | Status | StatusDate
1111111 BackOrd null
1111111 Delivd 2020-01-01
2222222 BackOrd null
3333333 Delivd 2020-02-29
在上面的发票中,11111 曾经在 BackOrd 上,现在已经交付,222222 目前在 BackOrd 上,33333 从未在 BackOrd 上并且已经交付。 22222&33333 很简单,但 11111 让我很烦恼,因为我只想显示当前的已交付状态。
我试过了
where case when StatusDate is null then 'BackOrd' else 'Delivd' end = Status
和各种迭代,但是我的 11111 示例将带回两行,这肯定是同时存在的。我觉得这不应该那么难,也许咖啡不够,但有些东西对我来说没有意义。
【问题讨论】:
-
请发表你想要的结果?
标签: sql sql-server datetime where-clause greatest-n-per-group