如何在SQL Server的where子句中使用sum函数?

Pav*_*ddy 7 sql t-sql sql-server sum sql-server-2012

我是SQL Server的新手.我想使用sum函数等于两列.请找到以下查询.

select top 1000 
    o.orderamount, sum(oi.amount), oi.orderid 
from 
    orders o 
inner join 
    orderitem oi on o.orderid = oi.orderid 
where 
    orderamount = sum(oi.amount)
group by  
    oi.orderid, orderamount
order by 
    oi.orderid desc
Run Code Online (Sandbox Code Playgroud)

每当我执行此代码时,我都会收到错误.

请帮我.

got*_*tqn 12

你可以使用HAVING:

select  top 1000 o.orderamount, sum(oi.amount), oi.orderid 
from orders o 
inner join orderitem oi on o.orderid = oi.orderid 
group by oi.orderid ,orderamount
HAVING orderamount = sum(oi.amount)
order by oi.orderid desc
Run Code Online (Sandbox Code Playgroud)