php - 如果在另一行中指定,则MySQL选择行

标签 php mysql sql database

我有一个包含多行的表格,其中一些行是其他行的“子项”。

表格如下所示:

id, name, parent, slug

示例数据:

1, Jack, NULL, jack 
2, John, NULL, john 
3, Mike, jack, mike

查询应该返回 jack,因为它是 mike 的父级。

所以我想返回在其他行中指定为“父项”的行。我真的是 MySQL 的新手,我不知道该怎么做。

不幸的是,我也没有幸运地使用 Google,因为我不确定如何准确地询问。

谢谢!

最佳答案

如果你想要有 child 的行:

select distinct p.*
from table p join
     table c
     on p.name = c.parent;

或者,类似地:

select p.*
from table p
where exists (select 1 from table c where c.parent = p.name);

注意:table 的意思是把你的表放在那里。

关于php - 如果在另一行中指定,则MySQL选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28114924/

相关文章:

php - 为 Windows 编译 PHP 扩展

php - 我需要从我的 wordpress 媒体库中删除重复的图像

Php 找不到 PostgreSQL 库,尽管它存在于指定的文件夹中

mysql - unicorn rails 真的需要一个数据库连接池吗?

sql - MySQL REGEXP 到 SQL Server

php - 读取和回显.txt文件在php中给出了 undefined offset 错误

mysql - 如何连接表以查看具有空值的日期?

php - 设置引导日期选择器对象的值

sql - 一次选择形成大量多对多关系的最佳实践

sql - MySQL:如何 SUM() a TIMEDIFF() on a group?