-1

A、B、C、Dと言う4つのテーブルがあります。

"D" には "id" と "Cid" の 2 つの列があります。

"C" には "id" と "Bid" の 2 つの列があります。

「B」には、「id」と「Aid」の 2 つの列があります。

「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

まず、1 つのテーブルにします。

次に、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 に答える