我有如下表格
CustomFieldValueId CustomFieldId ProjectId CustomFieldName CustomFieldValue
35 69 1 User Name kaliya
36 72 1 City Bangalore
37 74 1 Email mm@gmail.com
38 69 1 User Name mvkperumal
39 72 1 City Chennai
40 74 1 Email mvkperumal@gmail.com
41 69 1 User Name Yohesh
42 72 1 City Delhi
43 74 1 Email
我需要输出如下
User Name City Email
kaliya Bangalore mm@gmail.com
mvkperumal Chennai mverumal@gmail.com
Yohesh Delhi
我正在使用基于CustomFieldValueId的值并对ProjectId进行分组 所以请帮忙...
答案 0 :(得分:1)
您可以使用PIVOT
执行此操作,但您需要有一些方法将每个User Name
与Email
等关联起来。如果您能解决这个问题,那么您可以使用像这样的东西:
select [User Name], [City], [email]
from
(
select customfieldname, customfieldvalue,
row_number() over(partition by ProjectId, CustomFieldId
order by CustomFieldValueId) rn
from yourtable
) src
pivot
(
max(customfieldvalue)
for customfieldname in ([User Name], [City], [email])
) piv
由于您没有提供关联每个值的方法,因此我对每条记录应用了row_number()
。