mysql - 通过外键从第二个表中获取第一个表中的字段

标签 mysql

两个表:类别,以及它们的多对多关系:

categories
id | name
1    first
2    second
3    third

relations
parent | child
1        2
1        3

我怎样才能得到这个结果?:

first | second
first | third

我只能

SELECT c.name, r.child 
FROM categories AS c 
LEFT JOIN relations AS r ON c.id = r.parent

结果是

first | 2
first | 3

那么,我怎样才能在这个表中得到 child 的名字呢?

最佳答案

SELECT c1.name, c2.name
FROM relations AS r
LEFT JOIN categories AS c1 ON r.parent = c1.id
LEFT JOIN categories AS c2 ON r.child = c2.id
WHERE c1.id = 1

关于mysql - 通过外键从第二个表中获取第一个表中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179104/

相关文章:

mysql - 在 MySQL 中获取最高的不同记录

mysql - 如何在触发器中检索 select 语句返回的多个值?

MySQL如何根据多个属性行的相似性对对象进行排序

mysql - cakephp 1.3 : how to omit virtual fields from a find query

mysql - 计算联接中的字段并将结果分组到表中

mysql - Java 错误 : "; Expected Not a statement "

MySql 在其他列条件下获取重复的 id

mysql - 如何从 .ibd 文件重新创建 MySQL InnoDB 表?

php - 如果不存在,mysql从其他表中选择默认图像

mysql - 如何检查一个字段中的字符串是否存在于逗号分隔字段的每个元素中