我正在尝试为照片上的示例代码生成结果。 测试代码我附加工作但部分工作,我只需要单行West,South ...然后在每个桶中计数。这可能与TSQL 2012有关。 TX Sample of input output click here
WITH cte AS (SELECT 'WEST' Side, '2015-1-1' DD, 1 Status UNION ALL
SELECT 'WEST' Side, '2015-1-1' DD, 2 Status UNION ALL
SELECT 'WEST' Side, '2015-1-1' DD, 2 Status UNION ALL
SELECT 'WEST' Side, '2015-1-1' DD, 3 Status UNION ALL
SELECT 'WEST' Side, '2015-1-1' DD, 3 Status UNION ALL
SELECT 'WEST' Side, '2015-1-1' DD, 3 Status UNION ALL
SELECT 'South' Side, '2015-1-1' DD, 3 Status )
--SELECT * FROM cte
SELECT side,
case when Status= 1 then sum(1) else sum(0) end Complete,
case when Status= 2 then sum(1) else sum(0) end Cancel,
case when Status= 3 then sum(1) else sum(0) end Future
-- COUNT(*) TotalCC
FROM cte
GROUP BY Side, Status
ORDER BY 1
答案 0 :(得分:0)
这会有用吗?
WITH PivotData AS
(
SELECT
Side
, 1 AS agg_col
, StatusOfSide
FROM
<table_name>
)
SELECT
Side
, [1] AS Complete
, [2] AS Cancel
, [3] AS Future
FROM
PivotData
PIVOT (COUNT(agg_col) FOR StatusOfSide IN ([1], [2],[3]) ) p;