开发者

how to use PIVOT to get required results [duplicate]

This question already has answers here: Closed 11 years ago.

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.

how to use PIVOT to get required results [duplicate]

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜