Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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
用于brooker的Sql存储过程计数权益营业额_Sql_Sql Server_Stored Procedures - Fatal编程技术网

用于brooker的Sql存储过程计数权益营业额

用于brooker的Sql存储过程计数权益营业额,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我在计算布鲁克斯的成交量,总买入金额,总卖出金额。 问题是,当买方同时也是卖方时,布鲁克在买方和卖方各有一次股票交易。因此,如果布鲁克向自己出售150只股票,该交易的成交额应该是300 表: | InstrumentId | Price | Qty | Buyer | Seller | Date ----------------------------------------------------- | 265 | 22 | 100 | A | B

我在计算布鲁克斯的成交量,总买入金额,总卖出金额。 问题是,当买方同时也是卖方时,布鲁克在买方和卖方各有一次股票交易。因此,如果布鲁克向自己出售150只股票,该交易的成交额应该是300

表:

 | InstrumentId | Price | Qty | Buyer | Seller | Date
-----------------------------------------------------
 |    265       |  22   | 100 |   A   |   B    | ----
-------------------------------------------------------
 |    265       |  23   | 150 |   A   |   A    | ----
------------------------------------------------------- 
 |    265       |  21   | 75  |   C   |   A    | ----
----------------------------------------------------

Expected result: turnover 475.
Buy total: 250.
Sell total: 225.
一种方法是:

select broker, sum(qty)
from ((select buyer as broker, qty from sales) union all
      (select seller, qty from sales)
     ) b
group by broker;