Click here to Skip to main content
15,892,965 members
Please Sign up or sign in to vote.
3.00/5 (2 votes)
See more:
SQL
select * FROM Tb_SCh_TIme_Table P PIVOT (MAX(Faculty_Code) FOR Session IN ([1],[2],[3] ,[4])) AS PVT  where course = 'PH2' order by course;

from my above query output as follows;
date        course    1   2   3   4
 15/1/2013     AFF     CM
 15/1/2013     AFF     NR

i want the below output as follows;
 date        course    1     2   3   4
15/1/2013     AFF     CM,NR

how can i do.

using PIVOT query we can concatenation the rows and put in a single row.

how can id using my above query.
Posted
Updated 22-Jan-13 23:52pm
v2
Comments
Tharaka MTR 23-Jan-13 3:43am    
this seems re-post of following question
http://www.codeproject.com/Questions/532803/howplustoplususeplustowoplusqueryplusmakeplusinplu

1 solution

Here is the complete query according to me

SQL
SELECT *
FROM (
SELECT [Date],[Course],[Session],
    SUBSTRING((SELECT ','+ [Faculty_Code]
        FROM [Tb_SCh_TIme_Table ] dp2 
        WHERE dp2.[Date] = dp1.[Date] and dp2.[Course]=dp1.[Course] and dp2.[Session]=dp1.[Session]
    FOR XML PATH('')), 2, 8000) AS [Faculty_Code]
FROM [Tb_SCh_TIme_Table ] dp1
GROUP BY [Date],[Session],[Course]
) P
PIVOT (
MAX([Faculty_Code])
FOR [Session] IN ([1],[2],[3] ,[4])
) AS PVT
WHERE [Course]='PH2'
 
Share this answer
 
v2

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