我有4张桌子说A,B,C,D。
“D”有两列“id”和“Cid”
“C”有两列“id”和“Bid”
“B”有两列“id”和“Aid”
如果我想获得“Cid”,我会"SELECT Cid FROM D where id = value which I enter"
。
如果我想获得“出价”,我会"SELECT Bid from C where id = result of Cid from above query"
。
如果我想获得“援助”,我会"SELECT Aid from B where id =result is Bid from above query"
。
如您所见,这些表彼此相关。
如何通过组合上述SQL语句直接获得“Aid”;如何在单个SQL语句中获得“Aid”?
答案 0 :(得分:0)
首先将其设为一个表。
的方式答案 1 :(得分:0)
试
select tb.Aid
from D td
inner join C tc ON ( tc.id = td.Cid )
inner join B tb ON ( tb.id = tc.Bid )
where d.id = :value
;
答案 2 :(得分:-1)
当您开始使用JOIN时,您的关系结构会变得有用:
SELECT A.id
FROM D
JOIN C ON D.Cid = C.id
JOIN B on C.Bid = B.id
JOIN A on B.Aid = A.id
WHERE D.id = 'foo';