首页 > 解决方案 > 如何 PIVOT 查询中提到的选择结果

问题描述

我有如下所述的查询

SELECT Project
    ,STATUS
    ,count(*) AS [count]
FROM Defect
GROUP BY Project
    ,STATUS
ORDER BY Project

这将返回一个像

在此处输入图像描述

我正在尝试 PIVOT 这个结果如下

在此处输入图像描述

标签: sqlsql-serverpivotpivot-table

解决方案


你可以试试下面的方法——

SELECT * FROM   
(
    SELECT Project,STATUS,count(*) AS cnt FROM Defect GROUP BY Project,STATUS
) t 
PIVOT(
    sum(cnt) 
    FOR STATUS IN (
        [Build Assigned], 
        [Build Delivered], 
        [Closed], 
        [Eng. Build Delivered], 
        [New], 
        [Non-Issue], 
        [Open],[Pending])
) AS pivot_table

推荐阅读