Sql 行类型转换为列,相邻值转换为行

Sql 行类型转换为列,相邻值转换为行,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个很长的问题要总结如下: SELECT Name, Type, Rev From Table 它返回类似于: Name Type Checked Bob Grp1 Frank Bob Grp2 Frank Bob Grp3 Frank Lisa Grp1 Sarah Lisa Grp3 Sarah 现在,由于我最多有3种类型,我希望它们是自己的列,并看到第3列中的值显示在每种类型下: 例如: Name G

我有一个很长的问题要总结如下:

SELECT Name, Type, Rev
From Table
它返回类似于:

Name    Type    Checked
Bob     Grp1    Frank
Bob     Grp2    Frank
Bob     Grp3    Frank
Lisa    Grp1    Sarah
Lisa    Grp3    Sarah
现在,由于我最多有3种类型,我希望它们是自己的列,并看到第3列中的值显示在每种类型下:

例如:

Name   Grp1    Grp2    Grp3 
Bob    Frank   Frank   Frank
Lisa   Sarah   NULL    Sarah
基本上,我在寻找一个关于如何做到这一点的查询。任何反馈都将不胜感激。

快速样品

Select *
 From  YourTable
 Pivot (max(Checked) for Type in ([Grp1],[Grp2],[Grp3])) P
编辑-如果有多个显示的字段

Select *
 From  (
            SELECT Name, Type, Checked
            From Table
       ) A
 Pivot (max(Checked) for Type in ([Grp1],[Grp2],[Grp3])) P

我通常使用这样的案例陈述:

select Name,
case Type when 'Grp1' then checked else null end as 'Grp1',
case Type when 'Grp2' then checked else null end as 'Grp2',
case Type when 'Grp2' then checked else null end as 'Grp3'
from table

看起来你需要重点使用,谢谢你的快速反馈。有没有可能提供一个例子,说明我如何用可能的标准做到这一点^