【发布时间】:2021-02-17 09:46:58
【问题描述】:
我有以下数据作为查询的结果
| agr_no | cld_type_cd | from_dt | untl_dt | hour_qt |
|---|---|---|---|---|
| 00000080064 | 3 | 2020-01-01 | 2020-01-01 | 5.00 |
| 00000080064 | 3 | 2021-02-17 | 2021-02-17 | 1.00 |
| 00000080064 | 4 | 2021-02-17 | 2021-02-17 | NULL |
| 00000080064 | 4 | 2021-02-17 | 2021-02-17 | 2.00 |
| 00000080064 | 4 | 2021-02-17 | 2021-02-17 | 1.00 |
我需要的输出如下:
| agr_no | cld_type_cd | from_dt | untl_dt | hour_qt |
|---|---|---|---|---|
| 00000080064 | 3 | 2020-01-01 | 2020-01-01 | 5.00 |
| 00000080064 | 4 | 2021-02-17 | 2021-02-17 | NULL |
| 00000080064 | 4 | 2021-02-17 | 2021-02-17 | 2.00 |
| 00000080064 | 4 | 2021-02-17 | 2021-02-17 | 1.00 |
逻辑是:当在同一个from_dt和untl_dt上存在一条cld_type_cd = 4且hour_qt为NULL的记录时,则不需要在同一个from dt和untl dt上cld type cd = 3的记录。
如果可能,我正在寻找一种简单的解决方案(1 个查询),而不是使用临时或公用表表达式。有可能吗?
【问题讨论】:
-
您使用的是哪种 DBMS 产品? “SQL”只是所有关系数据库都使用的一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加tag。 Why should I tag my DBMS
标签: sql sql-server select