ORACLE多表关联查询问题
一共有5张表:TableA{A_id,B_id,C_id,D_id,E_id,A_min,A_desc}TableB{B_id,B_name}TableC{C_id,C_...
一共有5张表:
Table A {A_id,B_id,C_id,D_id,E_id,A_min,A_desc}
Table B {B_id,B_name}
Table C {C_id,C_name}
Table D {D_id,D_name}
Table E {E_id,E_name}
很明显后面几张表是常量表,A表里面有它们的id,没有name。现在要求查询A表,但是那些_id要用各自的名称_name代替,如何写sql?
最终查询结果要这样:
A_id B_name C_name D_name E_name A_min A_desc 展开
Table A {A_id,B_id,C_id,D_id,E_id,A_min,A_desc}
Table B {B_id,B_name}
Table C {C_id,C_name}
Table D {D_id,D_name}
Table E {E_id,E_name}
很明显后面几张表是常量表,A表里面有它们的id,没有name。现在要求查询A表,但是那些_id要用各自的名称_name代替,如何写sql?
最终查询结果要这样:
A_id B_name C_name D_name E_name A_min A_desc 展开
4个回答
展开全部
Select a.A_id,b.B_name,c.C_name,d.D_name,e.E_name,a.A_min,a.A_desc From TableA a,TableB b,TableC c,TableD d,TableE e
Where a.B_id=b.B_id(+) And a.C_id=c.C_id(+) And a.D_id=d.D_id(+) And a.E_id=e.E_id(+)
正确答案
Where a.B_id=b.B_id(+) And a.C_id=c.C_id(+) And a.D_id=d.D_id(+) And a.E_id=e.E_id(+)
正确答案
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select a.A_id,b.B_name,c.C_name,d.D_name,e.E_name,a.A_min,a.A_desc from A,B,C,D,E
where A.B_id = B.b_id(+) and a.c_id = c.c_id(+) and a.d_id = d.d_id(+) and a.e_id = e.e_id(+)
where A.B_id = B.b_id(+) and a.c_id = c.c_id(+) and a.d_id = d.d_id(+) and a.e_id = e.e_id(+)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select A_id,B.B_name,C.C_name,D.D_name,E.E_name,A_min ,A_desc
from A
inner join B on A.B_id= B.B_id
inner join C on A.C_id = C.C_id
inner join D on A.D_id = D.D_id
inner join E on A.E_id = E.E_id
即可
from A
inner join B on A.B_id= B.B_id
inner join C on A.C_id = C.C_id
inner join D on A.D_id = D.D_id
inner join E on A.E_id = E.E_id
即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select A_id,B_name,C_name,D_name,E_name,A_min,A_desc from ta,tb,tc,td,te where ta.B_id=tb.B_id and ta.C_id=tc.C_id and ta.D_id=td.D_id and ta.E_id=te.E_id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询