mysql - 将行重定向到另一行mysql

标签 mysql sql redirect

id  name  redirect_id
1    ....    NULL
2   .....    NULL
3   .....    2
4    ....    NULL
5    ....    1

我有这张 table 。 id主键。我想获取该行的 name。但是,如果它有一个 redirect_id,我想获得重定向 ID 的 name。有没有一种方法可以在一个 sql 查询中完成?

我知道在获取结果数组后该怎么做。但是,如果我那样做,它会变得如此纠结。 1 sql查询在这里会很好。谢谢。

编辑 我需要所有重定向的行,而不仅仅是重定向的 name

最佳答案

select ln.id
, COALESCE(ln2.name, ln.name)
from linkednames ln
left join linkednames ln2 on ln2.id = ln.redirect_id

关于mysql - 将行重定向到另一行mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35640791/

相关文章:

linux - 重定向 ls 的标准错误

MySQL:只选择一些分组的行

mysql - 查找以不同子字符串开头和结尾的字符串,然后插入到新列中

redirect - 无限重定向 - nginx

php - 如何使用带事务的 php 插入到两个表中?

sql - 有人可以解释一下吗

php - 根据 UserID 进行重定向

mysql - Rails 数据库查询 - 是否可以给列一个别名?

java - 如何用一种方法创建多个表(mysql)?

php - 为什么我不能将 php time() 用于时间戳列?