how to use PIVOT to get required results [duplicate]
Possible Duplicate:
convert one row into columns.
This is my query.
DECLARE @temp TABLE
(
MonthName VARCHAR(10),
[Year] VARCHAR(10),
StatusTypeId INT,
StatusTypeName VARCHAR(50),
StatusCount INT
)
INSERT INTO @temp
SELECT
CONVERT(varchar(3), DATENAME(month, w.ExpectedStartDate)) as MonthName,
datepart(yyyy, w.ExpectedStartDate) as [Year],
w.StatusTypeId,
st.StatusTypeName,
COUNT(ISNULL(w.StatusTypeId, 0)) AS StatusCount
FROM
Worksheet w LEFT OUTER JOIN
StatusType st ON st.StatusTypeId = w.StatusTypeId
WHERE w.ProjectId = 20
AND CONVERT(varchar(3), DATENAME(month, w.ExpectedStartDate)) between ('feb') AND ('mar')
GROUP BY
datepart(yyyy, w.ExpectedStartDate),
CONVERT(varchar(3), DATENAME(month, w.ExpectedStartDate)),
w.StatusTypeId,
st.StatusTypeName
SELECT ISNULL(((CONVERT(VARCHAR(5), [Year])) + '-' + MonthName), 'Unknown') AS MonthName,
ISNULL(StatusTypeName, 'Unknown') AS StatusTypeName,
StatusCount
FROM @temp
I want result like this.
Please guide 开发者_如何学Pythonme.
Thanks.
Eg.
select
*
from
(
select
monthname,statustypename
from yourtable
) DataTable
PIVOT
(
SUM(statuscount)
FOR statustypename
IN (
[tobescheduled],[complete]
)
) PivotTable
Also check the link http://geekswithblogs.net/lorint/archive/2006/08/04/87166.aspx
精彩评论