我有如下表:SQL SELECT语句(SQLite的)
$ sqlite3 :memory:
BEGIN TRANSACTION;
CREATE TABLE trades (date, stock, buyer, seller, quantity);
INSERT INTO "trades" VALUES(1,'X','A','B',10);
INSERT INTO "trades" VALUES(1,'X','A','C',10);
INSERT INTO "trades" VALUES(1,'Y','C','A',20);
INSERT INTO "trades" VALUES(2,'X','B','A',10);
INSERT INTO "trades" VALUES(2,'Y','B','A',10);
INSERT INTO "trades" VALUES(2,'Z','D','E',11);
COMMIT;
select * from trades;
date stock buyer seller quantity
---------- ---------- ---------- ---------- ----------
1 X A B 10
1 X A C 10
1 Y C A 20
2 X B A 10
2 Y B A 10
2 Z D E 11
我希望做的每一天,每一个股票的摘要,包括买入和卖出股票的总金额为每个经纪人,即每个股票和每一天的每个经纪人的汇总活动。我找的输出是这样的:
select ...magic statement ... from trades;
date stock broker bought sold
---------- ---------- ---------- ---------- ----------
1 X A 20 0
1 X B 0 10
1 X C 0 10
1 Y A 0 20
1 Y B 0 0
1 Y C 20 0
2 X A 0 10
2 X B 10 0
2 X C 0 0
2 Y A 0 10
2 Y B 10 0
2 Y C 0 0
股和券商名称的列表是不固定的,即它们必须从表本身检索(因此不能“硬编码”中的SQL SELECT声明)。
这是可能在一个单一的(SQLite)SQL语句?