【发布时间】:2021-09-14 01:32:15
【问题描述】:
我有一个类似下面的数据表:
| EntityId | Date | Value |
|---|---|---|
| 1 | 5/30/2021 | 42 |
| 1 | 6/30/2021 | 35 |
| 1 | 7/31/2021 | 59 |
| 1 | 8/31/2021 | 61 |
| 2 | 7/31/2021 | 98 |
| 2 | 8/31/2021 | 100 |
| 3 | 8/31/2021 | 34 |
我想为每个唯一的 entityId 返回日历月结束日期 2021 年 5 月 31 日和 2021 年 8 月 31 日之间“值”列中的所有值。但是,每个唯一的 entityId 并不总是有所有此类日期的行,如果日期不存在,我想在 Value 列中返回 null 。在表上使用查询应该会产生以下数据:
| EntityId | Date | Value |
|---|---|---|
| 1 | 5/31/2021 | 42 |
| 1 | 6/30/2021 | 35 |
| 1 | 7/31/2021 | 59 |
| 1 | 8/31/2021 | 59 |
| 2 | 5/31/2021 | NULL |
| 2 | 6/30/2021 | NULL |
| 2 | 7/31/2021 | 98 |
| 2 | 8/31/2021 | 100 |
| 3 | 5/31/2021 | NULL |
| 3 | 6/30/2021 | NULL |
| 3 | 7/31/2021 | NULL |
| 3 | 8/31/2021 | 34 |
最简单的方法是什么?
【问题讨论】:
-
日历或计数表...这个问题每天被问多次。
-
顺便说一句,我注意到您没有接受对您之前的任何问题的单一答案 - 这有什么原因吗?如果您不接受答案,人们将不太愿意回答您的问题。
-
道歉戴尔,我不是故意侮辱你。我会接受你的回答并从中吸取教训。
-
你没有侮辱我。我只是指出网站规则,以便您获得最佳体验。但请务必重新查看您之前的所有问题,如果有合适的答案,请接受。 (我不相信我自己已经回答了你的任何问题)。如果提供的答案不能回答您的问题,您应该对此发表评论。
标签: sql sql-server tsql