Crosstab in SQL 2k

myofer

New member
Crosstab in SQL 2k ../images/Emo35.gif../images/Emo12.gif

שלום אני צריכה ליצור מעין pivot או cross tab query ב sql server
חיפשתי
וחיפשתי ולא מצאתי שום דבר.. אבל עדיין זה נראה לי חשוד שאין.. חשוב לציין שאני לא יודעת מראש מה יהיה בטורים - דוגמא: רשימת קורסים וציוני התלמידים הרשומים בהם כאשר רשימת הקורסים משתנה מעת לעת..
רבה מראש
ויום טוב
 

eli_leiba

New member
הנה כוון

USE Northwind GO CREATE TABLE Pivot ( Year SMALLINT, Quarter TINYINT, Amount DECIMAL(2,1) ) GO INSERT INTO Pivot VALUES (1990, 1, 1.1) INSERT INTO Pivot VALUES (1990, 2, 1.2) INSERT INTO Pivot VALUES (1990, 3, 1.3) INSERT INTO Pivot VALUES (1990, 4, 1.4) INSERT INTO Pivot VALUES (1991, 1, 2.1) INSERT INTO Pivot VALUES (1991, 2, 2.2) INSERT INTO Pivot VALUES (1991, 3, 2.3) INSERT INTO Pivot VALUES (1991, 4, 2.4) GO This is the SELECT statement used to create the rotated results: SELECT Year, SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1, SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2, SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3, SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4 FROM Northwind.dbo.Pivot GROUP BY Year GO רמז: השאילתא שלך צריכה להיות שאילתא דינמית לפי הקורסים שיש
 

myofer

New member
תודה ../images/Emo13.gif

אז מה שאתה מציע זה ליצור cursor שירוץ על הקורסים ואח"כ להרכיב את השאילתה באופן דינאמי? טוב ננסה.. שוב
 

myofer

New member
../images/Emo51.gif../images/Emo51.gif../images/Emo51.gif../images/Emo70.gif זה עובד../images/Emo70.gif

 
למעלה