テーブル内のサブクエリの結果を合計する方法を知りたいです。たとえば、次の 2 つのクエリを 1 つのステートメントにまとめたいとします。
SELECT SUM(A) - (SELECT SUM(B) FROM MyTable WHERE C<A))
FROM MyTable WHERE B>C;
SELECT SUM(B) - (SELECT SUM(C) FROM MyTable WHERE D<F))
FROM MyTable WHERE B=C;
テーブル内のサブクエリの結果を合計する方法を知りたいです。たとえば、次の 2 つのクエリを 1 つのステートメントにまとめたいとします。
SELECT SUM(A) - (SELECT SUM(B) FROM MyTable WHERE C<A))
FROM MyTable WHERE B>C;
SELECT SUM(B) - (SELECT SUM(C) FROM MyTable WHERE D<F))
FROM MyTable WHERE B=C;
文字通り、それらを一緒に追加できます。
SELECT (SELECT SUM(A) - (SELECT SUM(B) FROM MyTable WHERE C<A))
FROM MyTable WHERE B>C)
+
(SELECT SUM(B) - (SELECT SUM(C) FROM MyTable WHERE D<F))
FROM MyTable WHERE B=C)
と同じ:
SELECT 5 + 3
サブクエリなしでこれを行うために、または少なくともそれをよりきれいにするために、おそらくいくつかの CASE ステートメントを使用することもできます。
SELECT SUM(CASE WHEN B > C THEN A ELSE 0 END) - SUM(CASE WHEN C < A THEN B ELSE 0 END)
+
SUM(CASE WHEN B = C THEN B ELSE 0 END) - SUM(CASE WHEN D < F THEN C ELSE 0 END)
FROM MyTable