Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

Pivoting Help Expand / Collapse
Author
Message
Posted Tuesday, November 13, 2012 9:26 AM
SSC Journeyman

SSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC Journeyman

Group: General Forum Members
Last Login: Friday, May 10, 2013 2:47 PM
Points: 83, Visits: 244
Hello

Please help me to do this

CREATE TABLE #X1
(vcEmployeeUniqueID VARCHAR(20),
vcLastName VARCHAR(20),
vcFirstName VARCHAR(20),
vcSchoolName VARCHAR(50),
iSchoolYearCode INT)


INSERT INTO #X1 VALUES ('001210214','Miller','Helen','NORWALK HIGH SCHOOL',2009)
INSERT INTO #X1 VALUES ('001210214','Miller','Helen','STAMFORD HIGH SCHOOL',2010)
INSERT INTO #X1 VALUES ('001210214','Miller','Helen','NORWALK HIGH SCHOOL',2011)
INSERT INTO #X1 VALUES ('003215847','Carolyn','June','NORWALK HIGH SCHOOL',2010)
INSERT INTO #X1 VALUES ('003215847','Carolyn','June','WATERBURY HIGH SCHOOL',2011)
INSERT INTO #X1 VALUES ('002149013','Steve','Ulman','STAMFORD HIGH SCHOOL',2011)

Desired output will be

vcEmployeeUniqueID	vcLastName	vcFirstName	SY2009			SY2010			SY2011	
001210214 Miller Helen NORWALK HIGH SCHOOL STAMFORD HIGH SCHOOL NORWALK HIGH SCHOOL
003215847 Carolyn June NORWALK HIGH SCHOOL WATERBURY HIGH SCHOOL
002149013 Steve Ulman STAMFORD HIGH SCHOOL


Please help me to do this.
Post #1384158
Posted Tuesday, November 13, 2012 10:12 AM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Yesterday @ 11:00 AM
Points: 2,543, Visits: 4,384
Looks like homework to me.
Have you tried using PIVOT. Where are you so far?
We can help you to learn and resolve issues instead of just providing straight solutions, which you will not understand or remember...


_____________________________________________
"The only true wisdom is in knowing you know nothing"
"O skol'ko nam otkrytiy chudnyh prevnosit microsofta duh!"
(So many miracle inventions provided by MS to us...)

How to post your question to get the best and quick help
Post #1384180
Posted Tuesday, November 13, 2012 10:18 AM
SSC Journeyman

SSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC Journeyman

Group: General Forum Members
Last Login: Friday, May 10, 2013 2:47 PM
Points: 83, Visits: 244
Eugene Elutin (11/13/2012)
Looks like homework to me.
Have you tried using PIVOT. Where are you so far?
We can help you to learn and resolve issues instead of just providing straight solutions, which you will not understand or remember...



Thanks for Reply

I try this

Select vcEmployeeUniqueID, [2009],[2010],[2011]
from
( Select vcEmployeeUniqueID,
vcLastName,
vcFirstName,
vcSchoolName,
iSchoolYearCode from #X1) as sourcetable
Pivot ( count(vcSchoolName) for iSchoolYearCode in ([2009],[2010],[2011])) as pivotable


and i got output as

vcEmployeeUniqueID	2009	2010	2011
001210214 1 1 1
002149013 0 0 1
003215847 0 1 1


but instead of 1 and 0 , i need to display vcSchoolName or Blank

so please help me to do this

That will be really appreciated
and This is not a Home Work.
Post #1384182
Posted Tuesday, November 13, 2012 10:20 AM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Yesterday @ 11:00 AM
Points: 2,543, Visits: 4,384
You are almost there!

just use MAX instead of COUNT

also you don't need to sub-query select of all columns from #X:

...
FROM #X1 p
PIVOT ...

will do just fine!



_____________________________________________
"The only true wisdom is in knowing you know nothing"
"O skol'ko nam otkrytiy chudnyh prevnosit microsofta duh!"
(So many miracle inventions provided by MS to us...)

How to post your question to get the best and quick help
Post #1384184
Posted Tuesday, November 13, 2012 10:23 AM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Yesterday @ 11:00 AM
Points: 2,543, Visits: 4,384
BTW. Formatting your query nice, improves its readability and therefore its maintainability:


SELECT vcEmployeeUniqueID
,vcLastName
,vcFirstName
,[2009] AS SY2009
,[2010] AS SY2010
,[2011] AS SY2011
FROM #X1 AS src
PIVOT (MAX(vcSchoolName)
FOR iSchoolYearCode IN ([2009], [2010], [2011])) AS pvt
ORDER BY vcEmployeeUniqueID




_____________________________________________
"The only true wisdom is in knowing you know nothing"
"O skol'ko nam otkrytiy chudnyh prevnosit microsofta duh!"
(So many miracle inventions provided by MS to us...)

How to post your question to get the best and quick help
Post #1384186
Posted Tuesday, November 13, 2012 10:25 AM
SSC Journeyman

SSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC Journeyman

Group: General Forum Members
Last Login: Friday, May 10, 2013 2:47 PM
Points: 83, Visits: 244
Eugene Elutin (11/13/2012)
BTW. Formatting your query nice, improves its readability and therefore its maintainability:


SELECT vcEmployeeUniqueID
,vcLastName
,vcFirstName
,[2009] AS SY2009
,[2010] AS SY2010
,[2011] AS SY2011
FROM #X1 AS src
PIVOT (MAX(vcSchoolName)
FOR iSchoolYearCode IN ([2009], [2010], [2011])) AS pvt
ORDER BY vcEmployeeUniqueID





Ohh Sweet !!!

great, How i forgot max in Pivoting

Thank You so much
Post #1384188
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse