如何生成自动行

时间:2017-11-03 11:30:52

标签: sql-server sql-server-2008

我有以下样本表

month   year    budget_Amt   Actual_Amt

feb     2017      25         30

mar     2016      10         5 

apr     2016      50         15

我正在执行以下查询

select month,year,budget_amt,Actual_Amt from Table where month in('Feb','Mar','apr')

我需要以下输出

month   year    budget_Amt   Actual_Amt

feb     2017      25         30

mar     2016      10         5 

apr     2016      50         15

QuarterYTD 2016   85         50

执行查询时会自动生成第4条记录

1 个答案:

答案 0 :(得分:0)

根据给出的数据,您可以UNION进行分组,如下所示。但是,我假设您的数据更复杂,并且需要将一些额外的代码添加到查询中。

select month,year,budget_amt,Actual_Amt from Table where month  in('Feb','Mar','apr') 
UNION ALL 
select 'QuarterYTD', Year, sum(budget_amt), sum(Actual_Amt) from Table where month in ('Feb','Mar','apr')  group by Year