我是SQL服务器编码的新手,我需要一些帮助。
我有一个SELECT
语句,其中包含三列,即更改的字段名称及其上一个和新值
FieldName OldValue NewValue
Age 21 22
Age 76 54
Color Red Blue
我正在尝试PIVOT
选择类似的内容:
OldValueName NewValueName OldValueAge NewValueAge OldValueColor NewValueColor etc.
你能帮帮我吗?
答案 0 :(得分:0)
您可以通过以下方式使用PIVOT。
DECLARE @tbl TABLE (
FieldName VARCHAR(50),
OldValue VARCHAR(50),
Newvalue Varchar(50)
)
INSERT INTO @tbl ( FieldName, OldValue, NewVALUE )
SELECT 'AGE', '21','22'
UNION
SELECT 'AGE', '76','54'
UNION
SELECT 'color', 'red','blue'
SELECT * FROM @tbl
SELECT * FROM
(
SELECT FieldName, OldValue, NewValue FROM @tbl
) AS S
PIVOT
(
max(OldValue) FOR s.FieldName in ([AGE], [color])
) AS Pvt