-1 投票 我有一个返回
的查询Id Type data char
1111 date 1999-06-30 NULL
1111 name NULL James
1111 string1 NULL Yes
1111 string2 NULL No
2222 date 1965-07-09 NULL
2222 name NULL Chris
2222 string1 NULL No
2222 string2 NULL Yes
我会
Id date name string1 string2
1111 1999-06-30 James Yes No
2222 1965-07-09 Chris No Yes
是否可以使用PIVOT sql函数获得该结果?
答案 0 :(得分:1)
假设你不需要动态,一个简单的条件聚合应该可以做到这一点
Select ID
,date = max(case when [type]='date' then [data] end)
,name = max(case when [type]='name' then [char] end)
,string1 = max(case when [type]='string1' then [char] end)
,string2 = max(case when [type]='string2' then [char] end)
From (
-- Your Query or Table
) A
Group By ID