【发布时间】:2021-12-11 23:10:59
【问题描述】:
首先我有一张这样的表:
| vID | bID | date | type | value |
|---|---|---|---|---|
| 1 | 100 | 22.01.2021 | o | 250.00 |
| 1 | 110 | 25.01.2021 | c | 100.00 |
| 2 | 120 | 13.02.2021 | o | 400.00 |
| 3 | 130 | 20.02.2021 | o | 475.00 |
| 3 | 140 | 11.03.2022 | c | 75.00 |
| 1 | 150 | 15.03.2022 | o | 560.00 |
为了显示每月订购(o)和收费(c)的值,我必须喜欢在 MSSQL SELECT 查询中为每个月订购和收费的“生成”列。 这是我想要得到的示例表:
| vID | JAN2021O | JAN2021C | FEB2021O | FEB2021C | … | MAR2022O | MAR2022C |
|---|---|---|---|---|---|---|---|
| 1 | 250.00 | 100.00 | 560.00 | ||||
| 2 | 400.00 | ||||||
| 3 | 475.00 | 75.00 |
除了我已经拥有的其他一些列之外,我还需要将它加入到 SQL SELECT 中。
有没有人有想法可以帮助我?
【问题讨论】:
-
老实说,我真的推荐这个想法。如果您“必须”旋转您的数据(动态),请在您的演示/报告层中进行。在 T-SQL 中执行此操作将需要动态 SQL,除非您精通该语言,否则不应该使用动态 SQL。
标签: sql sql-server join