2013-02-26 45 views
1

我希望你能幫忙,我需要總共TotalCapacity列給我一個基於Where語句的總年數。我還需要看到彼此相鄰的不同年份。由於總計一個多個Datediff列

SELECT 
    Capacity.StartDate, 
    Capacity.EndDate, 
    DATEDIFF(d, Capacity.StartDate, Capacity.EndDate) + 1 AS DaysOpen, 
    Capacity.Capacity, 
    (DATEDIFF(d, Capacity.StartDate, Capacity.EndDate) + 1) * Capacity.Capacity AS TotalCapacity, 
FROM 
    Capacity 
WHERE 
    Capacity.StartDate >= '01 Jan 2010' 
    AND Capacity.EndDate <= '31 Dec 2010' 
+0

你得到了某種錯誤或者是什麼? – 2013-02-26 10:39:42

+0

不,我只想要列出總容量所在的行。 – wafw1971 2013-02-26 10:42:20

+0

你是什麼意思? – 2013-02-26 10:46:34

回答

1

猜你需要某種這樣的:

SELECT SUM(TotalCapacity) 
    FROM 
    (
     SELECT 
      Capacity.StartDate 
      ,Capacity.EndDate 
      ,DATEDIFF(d, Capacity.StartDate, Capacity.EndDate) + 1 AS DaysOpen 
      ,Capacity.Capacity 
      ,(DATEDIFF(d, Capacity.StartDate, Capacity.EndDate) + 1) * Capacity.Capacity AS TotalCapacity 
     FROM 
      Capacity 
      WHERE Capacity.StartDate >= '01 Jan 2010' AND Capacity.EndDate <= '31 Dec 2010' 
    ) t 
+0

謝謝Sergio,這正是我所需要的。 – wafw1971 2013-02-26 11:12:02