【发布时间】:2020-06-30 00:31:09
【问题描述】:
我有一个数据库表(表 A),在 SQL Server 2016 中如下所示:
表 A:
ID Group 2018 2019 2020
-----------------------------------------
ID1 Group A 200 300 400
ID2 Group B 100 800 ---
ID2 Group B ---- 500 300
我想编写一个 SQL 查询或类似的东西或一个报告工具来生成一个报告/表(将表 A 转换为表 B),如下所示:
表 B:
ID Group - Year - Value
----------------------------------------
ID1 Group A 2018 200
ID1 Group A 2019 300
ID1 Group A 2020 400
ID2 Group B 2018 100
ID2 Group B 2019 800
ID2 Group B 2019 500
ID2 Group B 2020 300
如果可以通过编写 SQL 查询来实现,那就太好了。如果它需要使用编程语言编写程序或使用工具,那也可以,但请告诉我使用什么以及如何实现(我知道一些 C# 编程)。
(我知道我不应该使用 ID 和 Group 作为列名。我不会在数据库表中真正使用该名称,只是为了简化这里的问题)
有人可以帮忙吗?非常感谢!
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
标签: sql sql-server unpivot