table a;
userid
1
2
3
5table b;
userid
1
2
3
5table c;
userid
2
6
7结果为:
userid
1
2
3
4
5
6
7sql该如何写?select
a.userid as x
from a a,b b,c c
where a.userid= b.userid(+) and b.userid = c.userid(+)并不能达到我想要的结果
userid
1
2
3
5table b;
userid
1
2
3
5table c;
userid
2
6
7结果为:
userid
1
2
3
4
5
6
7sql该如何写?select
a.userid as x
from a a,b b,c c
where a.userid= b.userid(+) and b.userid = c.userid(+)并不能达到我想要的结果
from a
unial
select id
from b
unail
select id
from c
select id from t1
union
select id from t2
union
select id from t3
order by id
union
select b.userid userid from b
union
select c.userid userid from c
union allselect userid
from (
select a.userid as userid
from a
union all
select b.userid as userid
from b
union all
select c.userid as userid
from c)
table a;
userid score
1 10
2 10
3 20
5 10 table b;
userid score
1 20
2 10
4 10
6 10
table c;
userid score
2 10
5 10
6 10
7 10 结果为:
userid score
1 30(计算式a.score+b.score)
2 30(计算式a.score+b.score+c.score)
3 20(计算式a.score)
4 10(计算式b.score)
5 20(计算式a.score+c.score)
6 10(计算式b.score+c.score)
7 10(计算式c.score)
(select a.userid userid a.score score from a
union all
select b.userid userid b.score score from b
union all
select c.userid userid c.score score from c) t
group by t.userid order by t.userid
(select userid,score from a
union all
select userid,score from b
union all
select userid,score from c
) group by userid order by userid;
union all
select * from b
union all
select * from c)
group by userid