SELECT ステートメントを作成しようとしている Oracle データベースに 2 つのテーブルがあります。最初のテーブルは「寄付」と呼ばれ、次の属性が含まれています。donation_id、donation_date、donor_id、donation_type (タイプには「Incoming」または「Outgoing」の 2 つのオプションがあります)
2 番目のテーブルである交差テーブルは「donation_item」と呼ばれ、item_id、donation_id、location_id、weight の属性を持ちます。
私が特に興味を持っている列は、donation_type、item_id、および weight 列です。私の目的は、集計関数 (SUM) を使用して、特定のdonation_type ('Incoming') の特定の item_id の重みを追加し、そこから答えたら、「発信」の寄付タイプのアイテムの同じ item_id の重量を引きます。
いくつかのクエリを試しましたが、すべてエラーが発生しました。テーブルの現在の構造を考えると、目的が可能かどうかはわかりません。試したコードの例は次のとおりです。
SELECT SUM(i.weight) - SUM(o.weight) AS "Total"
FROM donation_item i JOIN donation_item o
ON i.item_id = o.item_id JOIN donations d
ON i.donation_id = d.donation_id
WHERE i.donation_type <> o.donation_type
AND i.donation_type = 'Incoming';
どんなアドバイスでも大歓迎です。ありがとう。