首页 > 解决方案 > 基于其结果的 mySQL SELECT

问题描述

我有一张这样的桌子:

| id | parentID | columnName        |
|----|----------|-------------------|
| 1  | 2        | John              |
| 2  | 0        | Task name         |
| 3  | 4        | John              |
| 4  | 0        | Task another name |

我想得到约翰任务,但也有它的名字,所以我想知道在单个 MySQL 查询中是否有任何方法?

SELECT id, parentID, person FROM table WHERE columnName = "John"

将导致用户任务,但我想知道这个任务是如何命名的。

标签: mysqlsql

解决方案


您似乎正在寻找自加入:

select 
    t.id, 
    t.parentid, 
    t.columnname person,
    t1.columnname task
from mytable t
left join mytable t1 on t1.id = t.parentid
where t.person = 'John'

推荐阅读