你能帮我写这个简单的SQL吗我还没想出结果

问题描述

可以使用相关子查询exists,例如:

select * 
from t
where exists (
  select * from t t2
  where t2.column1 = t.column1
  group by column1 
  having Sum(amount1) > (Sum(amount2) + 100)
);

解决方法

谢谢您的帮助。

你能帮我创建一个 SQL 语句,它显示如果 amount1 ($500 +$300) >amount2 ($400 +200) 乘以 100,然后列出两行的结果。我知道我需要将第 1 列按 1001 和 1002 分组,但无法想出其余的 :-( 因为第 1 列的 1002 仅大 50 (100 - 50),所以不应该出现在结果中。

第 1 列 第 2 列 金额1 金额2 顾客
1001 1 500 美元 400 美元 美国广播公司
1001 2 300 美元 200 美元 美国广播公司
1002 1 100 美元 50 美元 CBX

结果应该是:

第 1 列 第 2 列 金额1 金额2 顾客
1001 1 500 美元 400 美元 美国广播公司
1001 2 300 美元 200 美元 美国广播公司