我有一個工作查詢,不確定它是否有效。SQL查詢效率
表列:
- P_TYPE:可以是字符串賣出,cancelsell,銀行,cancelbank要執行
- ID
- FID
- 單元
操作:
- SUM(單位)爲每個過程類型銷售,取消銷售,銀行,取消銀行。
- SUM(單位賣出) - SUM(單位cancelsell),SUM(單位銀行) - SUM(單位cancelbank)
注意:我還檢查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)
是不夠好?如果任何人都可以建議一種更高效的方法,那就太好了。
+1你打我:) –
@rs。非常感謝你。我知道我必須使用Case,但沒有得到正確的結果。再次感謝您 –