次のようなテーブルがあります。
+----+------+--------+----------+
| ID | Code | OpType | Quantity |
+----+------+--------+----------+
| 0 | A | IN | 7 |
| 1 | B | IN | 8 |
| 2 | A | OUT | 2 |
| 3 | B | IN | 7 |
| 4 | B | OUT | 12 |
+----+------+--------+----------+
OpType に応じて SUM(Quantity) が必要です。OpType が OUT の場合、Quantity フィールドに -1 を掛ける必要があります。
クエリの結果は次のようになります。
Code IN OUT Final
A 7 2 5
B 15 12 3
私はこれを試しましたが、うまくいきません:
SELECT(SELECT SUM(Quantity) FROM Table WHERE OpType = 'IN') AS[IN], (SELECT SUM(Quantity) FROM Table WHERE OpType = 'OUT') AS[OUT], (SELECT SUM(Quantity) FROM Table WHERE OpType = 'IN') - (SELECT SUM(Quantity) FROM Table WHERE OpType = 'OUT') AS[Final]
FROM Table
GROUP BY Code