2016-09-22 136 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];