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

标签 sql sql-server tsql sql-server-2012 sum

我是 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

每当我执行此代码时,都会出现错误。

请帮我。

最佳答案

您可以使用 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

关于sql - 如何在 SQL Server 的 where 子句中使用 sum 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47628375/

相关文章:

sql - 无法找出确切的 PostgreSQL 查询

sql - 可空值的棘手逻辑异或

sql-server - AppHarbor 支持 SQL Server 数据库项目吗?

c# - 在 Entity Framework 中使用 .include 创建巨大的查询?

sql-server-2008 - 在 CTE 查询中使用聚合函数

sql - 同一列可以对另一列有主键和外键约束吗

sql - Sql CE 的探查器

sql - 尝试在 SQL Server 2000 中使用 Catch 吗?

sql - 如何在 WHERE 子句中编写条件?

sql-server - 在 SQL 插入中将日期字符串插入到 datetime2