4

我有一个包含三个表的关系数据库。第一个包含与第二个相关的 id。第二个包含与第三个相关的 id。第三个包含我所追求的结果。

是否可以通过单个查询来查询第一个表中的 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

添加 where 子句以搜索 table1 中的某些行

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

你想做一个join。有很多关于这方面的教程各种方法

于 2009-11-11T15:35:57.400 回答