-1

我有 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语句直接获得“援助”;如何在单个 SQL 语句中获得“帮助”?

4

3 回答 3

0

首先使它成为一张桌子。

然后阅读可以从mysql中检索层次结构数据的方式

于 2013-08-02T23:26:27.033 回答
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
         ;
于 2013-08-02T23:27:21.210 回答
-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';
于 2013-08-02T23:27:41.937 回答