【发布时间】:2021-08-08 10:18:05
【问题描述】:
我在 sql 中有一个以下格式的表格
| UserId | Month | Value |
|---|---|---|
| user1 | 4 | 12 |
| user1 | 6 | 2 |
| user1 | 12 | 2 |
| user2 | 1 | 4 |
| user2 | 7 | 5 |
| user2 | 9 | 6 |
我希望它显示所有用户的所有月份记录。如果用户的月份记录不存在,则该月份的值应为 0。
输出应采用以下格式:
| UserId | Month | Value |
|---|---|---|
| user1 | 1 | 0 |
| user1 | 2 | 0 |
| user1 | 3 | 0 |
| user1 | 4 | 12 |
| user1 | 5 | 0 |
| user1 | 6 | 2 |
| user1 | 7 | 0 |
| user1 | 8 | 0 |
| user1 | 9 | 0 |
| user1 | 10 | 0 |
| user1 | 11 | 0 |
| user1 | 12 | 2 |
| user2 | 1 | 4 |
| user2 | 2 | 0 |
| user2 | 3 | 0 |
| user2 | 4 | 0 |
| user2 | 5 | 0 |
| user2 | 6 | 0 |
| user2 | 7 | 5 |
| user2 | 8 | 0 |
| user2 | 9 | 6 |
| user2 | 10 | 0 |
| user2 | 11 | 0 |
| user2 | 12 | 0 |
【问题讨论】:
-
请用您正在使用的 DBMS 标记您的问题。我建议您首先创建包含 12 个月值和用户列表的临时表,将它们交叉连接,然后将连接留在您的数据表中
标签: sql