让我们说我们有一个“ 销售”表,如下所示。 该表包含数量,价格,以及该表是否应课税。我想计算应税总额和非应税总额。
ID Qty Price Taxable
-- --- ----- -------
1 1 5.0 1
2 2 10.0 1
3 2 10.0 1
4 4 5.0 1
5 5 15.0 1
6 5 5.0 1
7 4 20.0 0
8 3 10.0 0
9 3 10.0 0
根据“应税”列的值为1或0,最简单,最快的方法是在两个不同的列中生成总计(数量*价格)
TotalNoTax TotalTax
---------- --------
140.00 165.0
答案 0 :(得分:0)
尝试以下操作以获得所需的结果-
带有数据的样本表
Declare @data table
(ID int, Qty int, Price decimal(5,2), Taxable int)
insert into @data
(id, qty, price, taxable)
values
( 1, 1 , 5.0 , 1),
( 2, 2 , 10.0 , 1),
( 3, 2 , 10.0 , 1),
( 4, 4 , 5.0 , 1),
( 5, 5 , 15.0 , 1),
( 6, 5 , 5.0 , 1),
( 7, 4 , 20.0 , 0),
( 8, 3 , 10.0 , 0),
( 9, 3 , 10.0 , 0)
查询
Select
Sum(Case Taxable when 0 then (Qty * Price) else 0 end ) TotalNoTax,
Sum(Case Taxable when 1 then (Qty * Price) else 0 end ) TotalTax
From @data