mysql - 如何使用 SQL join 从闭包表中提取子 ID 和名称

标签 mysql sql join

我使用SQL查询来提取数据

SELECT 
    tags.id, tags.tagname, tag_closure.decedent AS child_id 
FROM 
    tag_closure 
INNER JOIN 
    tags ON tags.id = tag_closure.ancestor 
WHERE 
    tag_closure.path_length = 1

我得到的结果是:

Array ( [id] => 1 [tagname] => Life Science [child_id] => 2 )
Array ( [id] => 1 [tagname] => Life Science [child_id] => 6 )
Array ( [id] => 1 [tagname] => Life Science [child_id] => 13 ) 

我想在结果中添加额外的键 child_name

我的 table 是这样的

Table: tags_closure
|ancestor | decedent | path_length |


Table: tags
|id | tagname |

请帮我实现 SQL JOIN 语句。

最佳答案

我已经弄清楚了。 感谢您的评论。

SQL 查询将是

SELECT 
    a.id, a.tagname, t.decedent AS child_id, b.tagname AS child_name 
FROM 
    tag_closure t
INNER JOIN 
    tags a ON a.id = t.ancestor
INNER JOIN 
    tags b ON b.id = t.decedent
WHERE 
    t.path_length = 1

关于mysql - 如何使用 SQL join 从闭包表中提取子 ID 和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41437128/

相关文章:

mysql - 两个索引的内部连接的 Big-Oh 性能

mysql - varchar(25) 引用字段最有效的索引类型是什么?

php - Mysql 查找末尾有多余字符的词/句 PHP

SQL,多对多表中的逗号分隔条目

php - 寻找使用 PHP 和 MySQL 存储表的更好方法

c++ - 如何更新这样的 map 结构?

MySQL 表枢轴 - 动态

php - 通过列名访问MySql数组

sql - LibreOffice calc 到 PGAdmin 3?

sql - Django 中的第一个查询总是很慢