SQL 多表查询,用一条查询语句
表a
a.id , a.bid ,a.name
1 1 a1
2 2 a2
3 3 a3
根据条件a.name = a1 获取 对应a.id=1
表b
b.id , b.aid ,b.name
1 1 b1
2 1 b2
3 3 b3
根据条件b.aid =1 获取 对应b.id=1,2
表c
c.id , c.bid ,c.name
1 1 c1
2 2 c2
3 3 c3
根据条件 c.bid =1,2 获取 对应c.id=1,2
表d
d.id , d.cid ,d.name
1 1 d1
2 2 d2
3 3 d3
根据条件 d.cid =1,2 获取 对应d.id=1,2
要想得到新表:
d.id , d.cid ,d.name , a.name , b.name, c.name
1 1 d1 a1 b1 c1
2 2 d2 a1 b2 c1
用一条查询语句能得到吗?怎么写?
------解决方案--------------------select
d.id,d.cid,d.name , a.name , b.name, c.name
from
d
inner join c on d.cid=c.id
inner join b on c.bid=b.id
inner join a on b.aid=a.id
------解决方案--------------------试试这个:
select d.id,d.cid,d.name , a.name , b.name, c.name
from a
inner join b on b.id=a.bid
inner join c on b.id=c.bid
inner join d on c.id=d.cid
where a.name = 'a1'