oracle 我有3张表 a ,b,c 每个表 有相同的2列 userid 和 amount

来源:百度知道 编辑:UC知道 时间:2024/05/25 12:35:45
我想取3张表 里的相同useid的 amount之和大于30的 对应的userid ,
另:3张表的userid 不完全相同 ,有些id可能只有2张表有 ,或者只有1张

select d.userid from
(select userid,amount from a union all
select userid,amount from b union all
select userid,amount from c) d
group by d.userid
having sum(amount)>30

学习中,badkano。。。正解

select a.userid , a.amount ,b.amount , c.amount from a
left join b on a.userid = b.userid
left join c on a.userid = c.userid
where (a.amount + b.amount + c.amount )> '30';

就这执行就行了