【发布时间】:2014-04-13 11:50:08
【问题描述】:
我的 Microsoft SQL 服务器中有如下表。我想将行转换为列。
我的问题是我不知道前面的结果,并且可能超过 3 行 结果。
当前表
ID - Function - Result - MasterKey
1 - 100 - 31 - 7
1 - 125 - 34 - 7
1 - 138 - 39 - 7
. - . - . - .
. - . - . - .
期望的结果
MasterKey - Function1 - Result1 - Function2 - Result2 - Function3 - Result3 - ...
7 - 100 - 31 - 125 - 34 - 138 - 39 - ...
我怎样才能实现它? 提前致谢。
【问题讨论】:
-
不,不一样。对于他的情况,它部分知道前面的结果。
-
但是,如果您查看答案,则不会假定您知道输出行。一般来说,想要在 RDBMS 中执行此操作被认为是代码异味或反模式,但可以做到这一点,并且可以使用
FOR XML,就像我链接到的答案中一样。