【发布时间】:2021-04-09 23:43:10
【问题描述】:
我有两张桌子:
表 1
date1 | id | t_code | ac_code | value | kt_id |
-------------+-----+--------+---------+--------+--------+
2021-05-07 | 13 | AF12 | #BT8 | 1 | 11201 |
2021-05-07 | 13 | AF12 | #BT8 | 1 | 11201 |
2021-05-07 | 13 | AF12 | #BT8 | 2 | 11208 |
2021-04-08 | 13 | SH11 | #GS5 | 3 | 11201 |
2021-03-15 | 15 | TG53 | #BA7 | 1 | 11207 |
2021-03-11 | 17 | AF12 | #BT8 | 2 | 11208 |
2021-03-11 | 14 | AF15 | #BT5 | 2 | 11209 |
表 2
date2 | id | t_code | value | kt_id |
-------------+-----+--------+--------+--------+
2021-05-07 | 13 | AF12 | 5 | 23201 |
2021-05-07 | 24 | TB39 | 1 | 23203 |
2021-05-07 | 13 | AF12 | 2 | 23208 |
2021-04-08 | 13 | AF12 | 3 | 23201 |
2021-03-11 | 15 | TG53 | 1 | 23207 |
2021-03-11 | 28 | AK21 | 2 | 23208 |
我想通过内部连接来连接这两个表。 on Condition 应包含日期 (date1, date2)。此外,我将在列中转换行。这意味着,我只想在 kt_id 上选择 id 的 11201(作为 typ_1)和 11208(作为 typ_2)并将它们的值相加。 在表 2 中,我只想在 kt_id 上选择 id 23201(作为 typ_3)。 “id”、“t_code”和日期应该是一样的。
所以我想得到关注结果:
date | id | t_code | typ_1 | typ_2 | typ_3 |
-------------+-----+--------+--------+-------+-------+
2021-05-07 | 13 | AF12 | 2 | 2 | 5 |
2021-04-08 | 13 | TB39 | 3 | 0 | 3 |
如何用 sql 查询解决这个问题?
【问题讨论】:
标签: sql sql-server