Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将列分组,然后减去行?_Sql Server - Fatal编程技术网

Sql server 将列分组,然后减去行?

Sql server 将列分组,然后减去行?,sql-server,Sql Server,我已经看了其他的问题,但仍然在挣扎,所以我想我会把它放上去 我需要列出所有未完成订单的清单,并按部分订单 所以我有Partid、tradequantity和invoicequantity列 因此,交易员数量是指已订购的数量,而发票是指已交付的数量 我已经完成了一半,但我感觉我可能需要一张新桌子?这是到目前为止的代码 select (traderquantity - invoicedquantity) AS balance, partid, invoicedquantity,traderquant

我已经看了其他的问题,但仍然在挣扎,所以我想我会把它放上去

我需要列出所有未完成订单的清单,并按部分订单

所以我有Partid、tradequantity和invoicequantity列

因此,交易员数量是指已订购的数量,而发票是指已交付的数量

我已经完成了一半,但我感觉我可能需要一张新桌子?这是到目前为止的代码

select (traderquantity - invoicedquantity) AS balance, partid, invoicedquantity,traderquantity
from orderitems  
where status = 'ACTIVE'
and ordertype = 'PO'
order by partid
最初尝试对traderquantity使用Sum并减去InvoiceQuantity,但当我转到group by PartId时,它返回一个错误

编辑:只是补充一下,我实际上可以使用Excel完成这项工作,但我想知道如何在SQL中完成这项工作

任何帮助都将不胜感激

试试这个:

select 
    SUM(traderquantity - invoicedquantity) AS balance, 
    partid, 
    SUM(invoicedquantity) AS TotalInvoicedquantity,
    SUM(traderquantity) AS TotalTraderquantity
from 
    orderitems  
where 
    status = 'ACTIVE'
    and ordertype = 'PO'
GROUP BY 
    partid
order by 
    partid

你是个明星!非常感谢你。我想我最好得到一个SQL傻瓜指南!我想补充一点,我已经尝试了一半。我有上面的第一行,括号内有减法,但没有考虑对其他列求和。现在看看它就很有道理了!没问题。很乐意帮忙