Sql 如何在表头明细表中求和总计
求求你,我需要你的帮助,我是新来的,所以我有两张表-订单表和订单明细表。我想对订单表中的订单金额求和,并根据订单明细表中存在的产品id进行分组。我被重复吵架了Sql 如何在表头明细表中求和总计,sql,Sql,求求你,我需要你的帮助,我是新来的,所以我有两张表-订单表和订单明细表。我想对订单表中的订单金额求和,并根据订单明细表中存在的产品id进行分组。我被重复吵架了 select p.productName SUM(o.Amount - o.discount) as OrdersTotal FROM dbo.order o inner join OrderDetail d ON o.orderid = d.orderid inner
select p.productName
SUM(o.Amount - o.discount) as OrdersTotal
FROM dbo.order o
inner join
OrderDetail d
ON o.orderid = d.orderid
inner join
dbo.product p
ON d.productid = p.productid
where o.orderdate >= @fromdate
and o.orderdate <= @todate
group by p.productname, o.discount
那么,我如何修正这个结果呢?谢谢您应该只在产品名称上分组,以便具有相同产品名称的所有记录都包含在金额总和中:
select p.productName
SUM(o.Amount) as OrdersTotal
FROM dbo.order o
inner join
OrderDetail d
ON o.orderid = d.orderid
inner join
dbo.product p
ON d.productid = p.productid
where o.orderdate >= @fromdate
and o.orderdate <= @todate
group by p.productname
选择p.productName
订单总计金额(o.Amount)
从dbo.o命令
内连接
订单详细信息d
在o.orderid=d.orderid上
内连接
dbo.p
关于d.productid=p.productid
其中o.orderdate>=@fromdate
和o.orderdate从GROUP BY
中删除o.amount
。好的,但是我忘记了添加折扣列以从金额中减去它,因此当我执行语句时,我得到一个错误(折扣在select列表中无效,因为它不包含在聚合函数或GROUP BY子句中)编辑你的问题,把我做的所有数据都放进去,我很抱歉弄错了
select p.productName
SUM(o.Amount) as OrdersTotal
FROM dbo.order o
inner join
OrderDetail d
ON o.orderid = d.orderid
inner join
dbo.product p
ON d.productid = p.productid
where o.orderdate >= @fromdate
and o.orderdate <= @todate
group by p.productname