2016-09-22 159 views
-1

我想使用Microsoft SQL Server Management Studio從數據庫中獲取一些數據。在這我想做一些計算:SQL Server中的計算

對於每一天我有2個不同的數據點。我想要的是添加一個新的數據點,這是兩個數據點的總和。

在我的例子我想編寫以下任務:

每一個「日期」我想要一個新的數據點(我們稱之爲類別3),這是從「類別1」和「類別2總和AF「數據」 」。我的代碼:

SELECT 
    [Date], [category], [Data] 
FROM 
    [ ... ] 
WHERE 
    category IN ('category1', 'category2') 
ORDER BY 
    AsOfDate 
+2

添加一些樣本表數據和預期的結果。 (作爲格式文本。) – jarlh

回答

0

你只想要一個簡單的group by查詢與where

select [Date], SUM(Data) 
from [ ... ] 
Where category in ('category1','category2') 
group by AsOfDate 
+0

這幾乎解決了我的問題,thx :) –

+0

@ k.dkhk。 。 。這不是你問的問題。如果您還有其他問題,請將其作爲問題,以及樣本數據和期望的結果。 –

0
SELECT t1.[Date], 
     t1.[Data], 
     t2.[Data], 
     t1.[Data] + t2.[Data] as [category3] 
FROM [ ... ] t1 inner join [ ... ] t2 on t1.[Date] = t2.[Date] and t1.category = 'category1' and t2.category = 'category2' 
order by AsOfDate 
1

使用UNION ALL

SELECT [Date], 
     [category], 
     [Data] 
FROM [ ... ] 
WHERE category IN ('category1','category2') 
UNION ALL 
SELECT [Date], 
     'category3', 
     SUM([Data]) 
FROM [ ... ] 
WHERE category IN ('category1','category2') 
GROUP BY [Date];