【发布时间】:2020-12-24 17:21:08
【问题描述】:
我有下表,其中我有两个销售订单,每个销售订单都有不同的交易数量。
| SaleOrder | Transaction | Amount |
|---|---|---|
| S1 | T1 | 20 |
| S1 | T2 | 20 |
| S2 | T1 | 15 |
| S2 | T2 | 15 |
| S2 | T3 | 15 |
问题是我得到了 SQL Server 表中每个事务的总销售订单金额,而实际上它们需要在事务数中平均分配,如下所示:
| SaleOrder | Transaction | Amount |
|---|---|---|
| S1 | T1 | 10 |
| S1 | T2 | 10 |
| S2 | T1 | 5 |
| S2 | T2 | 5 |
| S2 | T3 | 5 |
我编写了以下查询:
SELECT SalesOrder,
Transaction,
Max(Amount) / (SELECT COUNT(Transaction) AS Transaction FROM Test_Table GROUP BY SalesOrder)
FROM Test_Table
GROUP BY SalesOrder,
Transaction
但它给了我'子查询返回超过 1 个值。当子查询跟随=, !=, <, <=, >, >= 或当子查询用作表达式时,这是不允许的。错误。有人可以解释这是什么以及如何纠正这个错误吗?
【问题讨论】:
标签: sql sql-server tsql subquery division