Click here to Skip to main content
15,881,715 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

I have a table like below
CANDIDATEID  SUB                     SUBID 	   MARK	   TOTAL_QUESTIONS
      41	 IT	                        1	    6	   14
      41	 MATH	                    2	    3	   10
      41	 ENGLISH READING            3	    4	   10
      41	 ENGLISH GRAMMER            4	    3	   15
      42	 IT	                     1	    3	   14
      42	 MATH	                    2	    2	   10


I want to transpose it like excel

CANDIDATEID IT_MARKS MATH_MARKS ER_MARKS EG_MARKS T_QNS_IT T_QNS_MATH T_QNS_ER T_QNS_EG
41            6           3          4         3   14       10         10       15
42            3           2         NULL      NULL 14       10         10       15


Please help me how can a do this.I am not very good in Querying

What I have tried:

I have tried with SQL pivoting,but not worked
Posted
Updated 8-Aug-18 21:39pm
v2
Comments
Santosh kumar Pithani 8-Aug-18 6:29am    
Hello,use pivot

 
Share this answer
 
v2
Comments
binu.emiliya 9-Aug-18 3:42am    
Thank You
SQL
CREATE TABLE #temp (
CANDIDATEID int, SUB   varchar(500), UBID  INT,MARK	 INT,TOTAL_QUESTIONS int)
INSERT INTO #TEMP 
values
      (41,'IT',1,6,14),
      (41,'MATH',2,3,10),
      (41,'ENGLISH READING',3,4,10),
      (41,'ENGLISH GRAMMER',4,3,15),
      (42,'INFORMATION TECHNOLOGY',1,3,14),
      (42,'MATH',2,2,10);


WITH CTE AS (
SELECT CANDIDATEID,CASE WHEN SUB IN ('INFORMATION TECHNOLOGY','IT') THEN 'IT' ELSE SUB END AS SUB,MARK  FROM #TEMP
UNION 
SELECT CANDIDATEID,'T_QNS_'+CASE WHEN SUB IN ('INFORMATION TECHNOLOGY','IT') THEN 'IT' ELSE SUB END AS SUB,TOTAL_QUESTIONS FROM #TEMP
)


select CANDIDATEID,[IT],[MATH],[ENGLISH READING], [ENGLISH GRAMMER],
     [T_QNS_IT],[T_QNS_MATH],[T_QNS_ENGLISH GRAMMER],[T_QNS_ENGLISH READING]

from CTE
 
 PIVOT 
    (  MAX(MARK) FOR SUB IN ( 
     [ENGLISH GRAMMER],[ENGLISH READING],[INFORMATION TECHNOLOGY],[IT],[MATH],
     [T_QNS_ENGLISH GRAMMER],[T_QNS_ENGLISH READING],[T_QNS_INFORMATION TECHNOLOGY],[T_QNS_IT],[T_QNS_MATH]
	                        )
	) AS ff
 
Share this answer
 
Comments
binu.emiliya 9-Aug-18 3:42am    
Hi Santosh, Thank you so much. I made a mistake in my question.Both are IT i just shortened in the first row and forgot to change in the next one
Animesh Datta 9-Aug-18 4:09am    
My 5! for your effort .
Santosh kumar Pithani 9-Aug-18 6:11am    
Thank you!
binu.emiliya 9-Aug-18 3:54am    
Thank you,It is working fine
Santosh kumar Pithani 9-Aug-18 6:12am    
Welcome binu!

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