计算一个表sql服务器中的项目数量(未完成的项目的总和)

问题描述 投票:0回答:1

我会问有关SQL Server中总和的问题。

我有一个存储订单的表,如下所示:

    Code     |    items    |    Kinds      |   Qty  |
-----------------------------------------------------
PUR/2004/001 |    b001     |    PURCHASE   |   5    |
PUR/2004/001 |    b002     |    PURCHASE   |   10   |
PUR/2004/002 |    b001     |    PURCHASE   |   3    |
REC/2004/001 |    b001     |    RECEIVE    |   4    |

我需要的是查询以计算表上每个项目的剩余未付额

所以我想要的结果是这样的:

    items    |  Outstanding Order  |
------------------------------------
    b001     |          4          |
    b002     |          10         |
sql sql-server-2008-r2 sum
1个回答
0
投票

我们可以在此处使用条件聚合:

SELECT
    items,
    SUM(CASE WHEN Kinds = 'PURCHASE' THEN Qty ELSE 0 END) -
        SUM(CASE WHEN Kinds = 'RECEIVE' THEN Qty ELSE 0 END) AS [Outstanding Order]
FROM yourTable
GROUP BY
    items;

screen capture of demo below

Demo

© www.soinside.com 2019 - 2024. All rights reserved.