Sql server 2008 r2 SQL Server-带条件求和
我试图聚合一些列,但有一些条件。请考虑以下事项:Sql server 2008 r2 SQL Server-带条件求和,sql-server-2008-r2,Sql Server 2008 R2,我试图聚合一些列,但有一些条件。请考虑以下事项: Encounter number enc_id 1324 01 Charge charge_id enc_id amt1 amt2 amt3 01 01 0.00 0.00 0.01 02 01 0.00 0.01 0.02 SELECT Encounter.number, sum(Charge.amt3) F
Encounter
number enc_id
1324 01
Charge
charge_id enc_id amt1 amt2 amt3
01 01 0.00 0.00 0.01
02 01 0.00 0.01 0.02
SELECT Encounter.number, sum(Charge.amt3)
FROM Charge
WHERE
Charge.enc_id = '01'
GROUP BY
Encounter.number
HAVING
sum(Charge.amt1 + Charge.amt2) = 0.00
数据库规则是一次遭遇中有多个费用。我需要求和amt3
,但如果任何费用具有以下条件:amt1
>0.00或amt2
>0.00,则不求和任何相关费用
这就是被归还的东西
Enc_number sum(Charge.amt3)
1234 0.01
我不应该归还任何东西
如何执行此操作?运行此操作时,我正确地得到了0个结果:
select
enc_id
, sum(c.amt3) as sumAmt3
from Charge c
where c.enc_id = 1
group by c.enc_id
having sum(c.amt1 + c.amt2) = 0.00;
另一个选项是使用以下选项从聚合查询中删除不需要的enc\u id
:
rextester演示:运行此命令时,我正确地得到了0个结果:
select
enc_id
, sum(c.amt3) as sumAmt3
from Charge c
where c.enc_id = 1
group by c.enc_id
having sum(c.amt1 + c.amt2) = 0.00;
另一个选项是使用以下选项从聚合查询中删除不需要的enc\u id
:
rextester演示: