将sql语句组合成单个语句

时间:2013-08-02 23:22:14

标签: php mysql database mysqli

我有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”?

3 个答案:

答案 0 :(得分:0)

首先将其设为一个表。

然后阅读hierarchal data can be retrieved from mysql

的方式

答案 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';