我有一个类似于以下类别的MySQL表:
id name parent
1 cat1 0
2 cat2 0
3 cat3 1
4 cat4 1
5 cat5 2
让我们选择类别4,我想在同一个SQL查询中获取父类别(1)及其名称(cat1),任何人都可以帮忙吗?
到目前为止,我这样做:
SELECT parent AS p FROM categories WHERE id=4;
然后在另一个查询中
SELECT name FROM categories WHERE id=p;
但考虑到表格的大小,我希望通过将这两个查询转换为1来加快速度。
谢谢! :)
答案 0 :(得分:0)
这个怎么样?
SELECT parent, name FROM categories WHERE id=(SELECT parent FROM categories WHERE id=4);
答案 1 :(得分:0)
SELECT p.id, p.name FROM categories p, categories s WHERE s.id=4 AND p.id=s.parent;