我有一张桌子:
id | parent_id | name
1 | NULL | audi
2 | 1 | a5
3 | 1 | a6
4 | NULL | opel
5 | 4 | astra
6 | 4 | vectra
我想获取记录名称和记录父母的姓名。
一个例子是获取id = 5及其父名称的名称。
id | name | parent_name
5 | astra | opel
对此SQL查询是什么?
我的查询:
SELECT name, parent_id FROM `cats` WHERE `id` = 5 OR `id` =
cats.parent_id LIMIT 0 , 30
没用。
答案 0 :(得分:1)
如果你一次只有一个父母(没有递归),那么这项工作是:
SELECT a.name name, b.name parent_name
FROM tablexyz a,tablexyz b where
a.id=5 AND a.parent_id=b.id;
答案 1 :(得分:1)
您可以使用以下查询:
SELECT T1.id, T1.name, T2.name as parentname
FROM TABLE1 T1
INNER JOIN TABLE1 T2 ON T1.id = T2.parent_id
WHERE T2.ID = 5
答案 2 :(得分:0)
这对我来说很好。请检查出来。
select a.id,a.name,b.name as parent from cats a,cats b where b.id=a.parent_id;
您也可以添加任何其他条件。 (确保使用正确的表格标识符; a
或b
)