【发布时间】:2017-08-23 22:19:24
【问题描述】:
我有一个像这样的“详细信息”表:
ID | BookID | Genre
_____________________________________________________
1 | 12 | AB
1 | 05 | AC
2 | 12 | AB
2 | 08 | BB
有没有办法以这种格式组合行:
ID | BookID1 | Genre1 | BookID2 | Genre2
_____________________________________________________
1 | 12 | AB | 05 | AC
2 | 12 | AB | 08 | BB
我需要以这种格式将各个列添加到存储过程中。
我通常很想包含一些代码或尝试,但我现在一无所知。
不是以下内容的重复: T-SQL dynamic pivot
我没有使用 tsql 的第一个区别
第二个不同是表格的结构不能应用于我的。
我的值不是将是列标题,而是它们将生成新列,例如:
ID | BookID1 | Genre1 | BookID2 | Genre2 | BookID3 | Genre3 | BookID4 | Genre4
1 | 05 | Horror | 12 | Horror | 03 | Drama | |
2 | 05 | Horror | 15 | Advent | 03 | Drama | 112 | RomCom
第三个我无法掌握结构,因为我对数据透视表的了解为零
【问题讨论】:
-
是否有已知的列数?
-
您可能需要为此使用动态 SQL
-
@McNets 最大重复次数为 10
标签: sql sql-server stored-procedures