動作するクエリがあり、それが効率的かどうかわかりません。
テーブル列:
- p_type:STRING販売、cancelsell、bank、cancelbankにすることができます
- id
- fid
- 単位
実行する操作:
- 各プロセスタイプのSUM(単位)sell、cancelsell、bank、cancelbank。
- SUM(売りの単位)-SUM(売りの単位)、SUM(銀行の単位)-SUM(銀行のキャンセルの単位)
注:すべての選択について同じ値で確認する必要がありますが、各選択でidとfidも確認しています。
既存のクエリ:
select sell-cancelsell scount, bank-cancelbank bcount from
(select sum(a.unit) as sell from table1 a where
a.p_type = 'Sell' and a.id=1 and a.fid=2 ),
(select sum(c.unit) as cancelsell from table1 c where
c.p_type = 'CancelSell' and c.id=1 and c.fid=2),
(select sum(b.unit) as bank from table1 b where
b.p_type = 'Bank' and b.id=1 and b.fid=2),
(select sum(d.unit) as cancelbank from table1 d where
d.p_type = 'CancelBank' and d.id=1 and d.fid=2)
十分ですか?誰かがそれをより効率的にする方法を提案することができればそれは素晴らしいことです。