我有以下SQL语句:MySQL的,在同一查询中设置一个结果值到另一个值
SELECT `entity_id`,`parent_id`,`name`
FROM category
WHERE is_active = 1
ODER BY parent_id asc, position asc;
它返回类似下面的结果:
+-----------+-----------+------------+----------+
| id | parent_id | Name | desc |
+-----------+-----------+------------+----------+
| 1 | NULL | Fruit | NULL |
+-----------+-----------+------------+----------+
| 2 | 1 | Apple | NULL |
+-----------+-----------+------------+----------+
我想更新查询,以便在父ID字段中返回相应的名称。所以,我的输出会是这样:
+-----------+-----------+------------+----------+
| id | parent_id | Name | desc |
+-----------+-----------+------------+----------+
| 1 | NULL | Fruit | NULL |
+-----------+-----------+------------+----------+
| 2 | Fruit | Apple | NULL |
+-----------+-----------+------------+----------+
我一直在使用同一个表内连接玩这个查询了一段时间,虽然我不知道这是正确的做法。任何人都可以推荐一种方法。
内的子查询有一个错误在查询'ODER' –
@Jonathan ParentLévesque - 谢谢 –
不幸的是,我在正确加入之后在WHERE发生错误。 –