Click here to Skip to main content
15,885,880 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
column value is change into row in sql table or c sharp coding
how can it possible,
asap....


SQL
1.default table...
=================================
name      type       date
=================================
sekar     present    2015-06-01
sekar     present    2015-06-02
sekar     present    2015-06-03
sekar     absent     2015-06-04
sekar     present    2015-06-05
=================================

i want to like this below table.....
======================================================================
name     2015-06-01   2015-06-02   2015-06-03  2015-06-04  2015-06-05
=======================================================================
sekar     present      present      present    absent      present
========================================================================
Posted
Updated 17-Jun-15 2:19am
v2
Comments
Dave Kreskowiak 17-Jun-15 8:11am    
What? I don't think anyone can figure out what you're talking about. Change into row? What does that mean? Give an example.
sekar305 17-Jun-15 8:19am    
nw u can see table format...
John C Rayan 17-Jun-15 8:23am    
You can do it using Pivot. Look for some samples.

HI, use pivot element, see details from link below,

thanks in advance

Simple Way To Use Pivot In SQL Query[^]
 
Share this answer
 
Comments
sekar305 17-Jun-15 9:04am    
but i dont want aggregate function inside the pivot, i want present,absent,etc...
--YOU COULD USED DYNAMIC PIVOT IF THE COLUMNS ARE DYNAMIC . HERE IS A SAMPLE 
CREATE TABLE #T
(
NAME VARCHAR(20),
STYPE VARCHAR(10),
SDATE DATETIME
)

INSERT INTO #T VALUES('ANIMESH' , 'PRESENT' , '2015-05-01')
INSERT INTO #T VALUES('ANIMESH' , 'PRESENT' , '2015-05-02')
INSERT INTO #T VALUES('ANIMESH' , 'ABSENT' , '2015-05-03')
INSERT INTO #T VALUES('ANIMESH' , 'PRESENT' , '2015-05-04')
  
 --VARIABLE FOR GET THE DATES IN SEQUENTIAL ORDER WITHIN A SINLE COLUMN
 DECLARE @COLS AS VARCHAR(MAX)
 
 --VARIABLE FOR DYNAMIC QUERY
 DECLARE @QUERY  AS NVARCHAR(MAX)


SELECT @COLS=ISNULL(@COLS+',','')+ '['+ CAST(CONVERT(DATE , T.SDATE) AS VARCHAR) + ']'  FROM #T T
SET @COLS= REVERSE(SUBSTRING(REVERSE(@COLS),1,LEN(@COLS)))
SET @QUERY = 'SELECT NAME, ' + @COLS  +' FROM 
            (
                SELECT *  FROM #T
           ) X
            PIVOT 
            (
                 MIN([STYPE])
                FOR [SDATE] IN (' + @COLS + ')
            ) P '

EXEC (@QUERY)


thanks
Animesh
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900