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演示