Empid | EmpName | EmpDay | empStatus |
1 | Bikash | 1 | P |
2 | Bikash | 2 | P |
3 | Bikash | 3 | P |
4 | Bikash | 4 | A |
5 | Bikash | 5 | A |
6 | Bikash | 6 | P |
7 | Bikash | 8 | P |
8 | Rama Rao | 1 | P |
9 | Rama Rao | 2 | P |
10 | Rama Rao | 6 | P |
11 | Rama Rao | 3 | P |
12 | Rama Rao | 7 | P |
SELECT EMPNAME,[1],[2],[3],[4],[5],[6],[7],[8],[9] FROM (SELECT EMPNAME,EMPDAY,EMPSTATUS FROM EMPTEST) X PIVOT (MAX(EMPSTATUS) FOR EMPDAY IN([1],[2],[3],[4],[5],[6],[7],[8],[9])) Y
EMPNAME | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Bikash | P | P | P | A | A | P | NULL | P | NULL |
Rama Rao | P | P | P | NULL | NULL | P | P | P | NULL |
DECLARE @cols AS NVARCHAR(MAX)
DECLARE@query AS NVARCHAR(MAX)
SET @cols = (SELECT DISTINCT ',['+ CAST(EMPDAY AS VARCHAR(10)) +']' FROM EMPTEST FOR XML PATH(''))
SELECT @cols= SUBSTRING(@COLS,2,LEN(@cols))
SET @query = 'SELECT EMPNAME,'+@cols+' FROM
(SELECT EMPNAME,EMPDAY,EMPSTATUS FROM EMPTEST) AS X
PIVOT (MAX(EMPSTATUS) FOR EMPDAY IN('+@cols+')) P'
EXEC (@query)
No comments:
Post a Comment