Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
gyana.ojha
Starting Member
5 Posts |
Posted - 2009-11-14 : 07:13:42
|
Hello Forum MemberI have a table Class Syllabus with Following Data.quote: Class Subject Is CoveredMon-1 Math YesMon-1 Eng YesMon-2 Math YesMon-2 Eng NoMon-3 Math YesMon-3 Eng Yes. . .. . .. . .N1 N1 Yes
And I want result as mention belowquote: Class Math English . . . .N1Mon-1 YES YESMon-2 YES NOMon-3 YES YES. YES NO... N1
Thanks and RegardsGyana Ranjan Ojha |
|
|
ranganath
Posting Yak Master
209 Posts |
Posted - 2009-11-15 : 23:24:48
|
| Hi Try with this Create Table #T ( Class VARCHAR(128), Sub VARCHAR(128), covered VARCHAR(128) )INSERT INTO #TSELECT 'Mon-1','Math','Yes' Union AllSELECT 'Mon-1','Eng','Yes' Union AllSELECT 'Mon-2','Math','Yes' Union AllSELECT 'Mon-2','Eng','No' Union AllSELECT 'Mon-3','Science','Yes' Union AllSELECT 'Mon-3','Math','Yes' Union AllSELECT 'Mon-3','Eng','No' Union AllSELECT 'Mon-4','Other','Yes'--SELECT * From #TDECLARE @Sql VARCHAR(8000)SET @sql = ''DECLARE @str VARCHAR(8000)SET @str = ''SELECT @sql = @sql + ', Min(Case when Sub = ''' +Sub + ''' Then covered End ) AS "' + Sub + '"' From (SELECT distinct Sub From #T)aSELECT @str = @str + 'SELECT Class '+@sql+' From #T Group By Class'print @strEXEC (@str)DROP TABLE #T |
 |
|
|
Nageswar9
Aged Yak Warrior
600 Posts |
Posted - 2009-11-15 : 23:24:49
|
| Hi Try this once,Select Class,math, English ---, N1from table pivot( max(covered) for subject in ( math, English ---, N1 )) p |
 |
|
|
|
|
|
|
|