我有這樣的表(實際表大得多):DATEDIFF和樞軸
id class startdate enddate
----------------------------------------
1 High 1/1/15 2/1/15
1 Low 5/1/15 6/1/15
1 Mid 6/1/15 6/10/15
有沒有產生類似下面的結果的方式......
id High Mid low
-----------------------
1 30 9 30
我下面的工作.. (只是表明我試圖通過這個工作)
SELECT DISTINCT --DATEDIFF(DAY, tt.START_DATE,tt.END_DATE)AS Stay_days,
tt.[high], tt.[mid], tt.[low], tt.id,
FROM
(SELECT
[pvt_High], [pvt_mid], [pvt_low], pvt.STARTDATE, pvt.ENDDATE, pvt.id
FROM
(SELECT DISTINCT
l.id, L.class, l.STARTDATE, l.ENDDATE,
DATEDIFF(DAY, l.STARTDATE, l.ENDDATE) AS STAY_DAYS,
'Y' AS Flag
FROM TEST l
WHERE 1=1
PIVOT (MAX(Flag) FOR CLASS IN ([pvt_HIGH], [pvt_MID],[pvt_LOW]))
AS pvt
) tt
也許一個自我加入和class =每個類別,不確定。任何幫助,將不勝感激。 –