我在一个 Oracle 数据库中有两个表,我试图从中形成一个 SELECT 语句。第一个表称为“捐赠”,包含以下属性:donation_id、donation_date、donor_id、donation_type(类型有 2 个选项:'Incoming' 或 'Outgoing')
第二个表,一个交集表,称为“donation_item”,具有以下属性:item_id、donation_id、location_id、weight
donation_type、item_id 和 weight 列是我特别感兴趣的。我的目标是使用聚合函数 (SUM) 来添加特定donation_type ('Incoming') 的某个 item_id 的权重,然后从中添加答案,减去“Outgoing”donation_type 项目的相同 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';
任何意见是极大的赞赏。谢谢。