在oracle中现有两个表 table1 ,table2,要将两个表结合生成第三张表,语句该如何些?
table1:IDNAMESCORE1lee702zhang803li60table2:IDNAMESCORE1lee902zhang1004wang70第三张表如下:I...
table1:
ID NAME SCORE
1 lee 70
2 zhang 80
3 li 60
table2:
ID NAME SCORE
1 lee 90
2 zhang 100
4 wang 70
第三张表如下:
ID NAME SCORE2 SCORE1
1 lee 90 70
2 zhang 100 80
3 li 0 60
4 wang 70 0
SQL语句该如何写? 展开
ID NAME SCORE
1 lee 70
2 zhang 80
3 li 60
table2:
ID NAME SCORE
1 lee 90
2 zhang 100
4 wang 70
第三张表如下:
ID NAME SCORE2 SCORE1
1 lee 90 70
2 zhang 100 80
3 li 0 60
4 wang 70 0
SQL语句该如何写? 展开
展开全部
select distinct a.id,a.name,c.score score2,b.score score1
(select distinct t.id,name from(select id,name from table1
union all
select id,name from table2) t) a,table1 b table2 c
where a.id=b.id(+)
and a.id=c.id(+)
(select distinct t.id,name from(select id,name from table1
union all
select id,name from table2) t) a,table1 b table2 c
where a.id=b.id(+)
and a.id=c.id(+)
追问
比较好,但如果table1 , table2 是一个经过SQL串连的结果,且如果不只这两个表,这样重复的使用table1 , table2 ,写起来会很长啊。
展开全部
select id,name,sum(score1) score1,sum(score2) score2 from(
select id,name, score as score1,0 score2 from table1
union all
select id,name, 0 score1,score as score2 from table2) group by id,name
select id,name, score as score1,0 score2 from table1
union all
select id,name, 0 score1,score as score2 from table2) group by id,name
追问
成功返回了结果,但似乎不是很高明,如果不是数字而是字符串怎么办
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询