4

3 つのテーブルを持つリレーショナル データベースがあります。最初の内容は、2 番目に関連する ID です。2 番目には、3 番目に関連する ID が含まれます。3番目には、私が求めている結果が含まれています。

それに関連する3番目のテーブルからのすべての結果を与える最初のテーブルのIDをクエリする単一のクエリで可能ですか?

申し訳ありませんが、私はmySQLが初めてです。

4

5 に答える 5

10

Mysql に参加

これを試して

select * from table1 t1
join table2 t2 on t1.t2ref = t2.id
join table3 t3 on t2.t3ref = t3.id

table1 の特定の行を検索する where 句を追加します。

where t1.field = 'value'
于 2009-11-11T15:35:21.453 に答える
5

はい

SELECT t3.* 
  FROM t1, t2, t3
  WHERE t1.id = t2.id
    AND t2.otherid = t3.id
    AND t1.id = XXXX
于 2009-11-11T15:36:31.020 に答える
3

結合を使用したい場合:

   SELECT `t3`.`id`
     FROM `table3` `t3`
LEFT JOIN `table2` `t2`
       ON `t3`.`foreign_id` = `t2`.`id`
LEFT JOIN `table1` `t1`
       ON `t2`.`foreign_id` = `t1`.`id`
    WHERE `t1`.`id` = 'some_id'
于 2009-11-11T15:36:53.640 に答える
2

JOINコマンドを使用して、テーブルを相互にリンクします。

さらに、Keith Brown によるこのチュートリアルをお勧めします。

于 2009-11-11T15:35:49.657 に答える
0

あなたは結合をしたいです。これに関する多くのチュートリアルと、それを行うさまざまな方法があります。

于 2009-11-11T15:35:57.400 に答える