タイトル失礼します。ちょっとややこしいかも!私が使用しているサンプルテーブルを以下に示します。
ID Quantity Type
-----------------------------------------------
1 14 PO
1 2 PO
1 4 MH
1 3 MH
1 2 MH
2 16 PO
2 12 MH
2 9 MH
これが私がやりたいことです。ID = 1 および Type = PO (14 + 2) のすべての数量を SUM_IN として合計したいと考えています。次に、ID = 1 と Type = MH (4 + 3 + 2) のすべての数量を SUM_OUT として合計します。これが完了したら、2 つを比較して、SUM_OUT > SUM_IN の場合にのみ値を返します。したがって、(12 + 9) > 16 であるため、ID = 1 の場合は返されませんが、ID = 2 の場合は返されます。
SQLでこれを行う方法はありますか、またはタスクにPL/SQLと変数を使用する必要がありますか? 私は PL/SQL の経験がほとんどありませんが、論理的には変数が問題を解決する最も簡単な方法であるように思われます。select ステートメントを変数に格納できることは知っていますが、その方法がわかりません。とにかく、ここに私の2つのSQL選択があります
SELECT SUM(QUANTITY) AS SUM_IN
FROM TRANSLOG
WHERE TYPE IN ('PO')
AND ID = '1'
SELECT SUM(QUANTITY) AS SUM_OUT
FROM TRANSLOG
WHERE TYPE IN ('MH')
AND ID = '1'
したがって、これらの両方を変数に設定できれば、タスクはそれほど難しくないはずですよね???
助けてくれてありがとう。