【发布时间】:2016-05-30 08:24:05
【问题描述】:
我正在使用 SQL-Server 2008。如何从一列中获取值并将其传递给另一列?
正如您在下面的示例数据中看到的那样,共有 4 列。我需要获取列名(在本例中为UserName)并将其传递给FieldName 列,并将UserName 列中的值传递给Value 列。
样本数据
GroupId UserName FieldName Value
1 John Smith Foo 28
1 John Smith Bar 2
1 John Smith FooBar 11
1 John Smith Bizz 22
2 Peter Jones Foo 4
2 Peter Jones Bar 13
2 Peter Jones FooBar 27
2 Peter Jones Bizz 23
期望的结果
GroupId FieldName Value
1 Foo 28
1 Bar 2
1 FooBar 11
1 Bizz 22
1 UserName John Smith
2 Foo 4
2 Bar 13
2 FooBar 27
2 Bizz 23
2 UserName Peter Jones
我怎样才能实现它?通过使用PIVOT?但我不确定如何将透视数据合并到现有列。你有什么想法吗?如果有不清楚的地方-问我,我会尽力提供更多细节。
【问题讨论】:
标签: sql sql-server reporting-services sql-server-2008-r2 pivot