Mysql SQL-表本身的外键
这是我的桌子:Mysql SQL-表本身的外键,mysql,sql,join,Mysql,Sql,Join,这是我的桌子: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, `parentid` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)) 其中parentid引用了此表。 我有以下数据:
CREATE TABLE IF NOT EXISTS `category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`parentid` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`))
其中parentid
引用了此表。
我有以下数据:
Id | Name | parentid
1 Cumputer 0
2 MotherBoard 1
3 Cpu 2
4 Cpu cooling Fan 3
5 Monitor 1
现在,我想选择Cpu冷却风扇的Id,并且它都是父级的:
1
2
3
大概是这样的:
SELECT a.id, b.id as list FROM `category` a INNER JOIN category b ON a.id=b.parentid
但它不起作用。“所有家长”?这需要递归,尤其是当你对树的“深度”没有限制的时候。mysql不支持递归查询。你可以用任意数量的自连接来伪造它,但这只是一种破解,不是“解决方案”。@Marc好的,谢谢。我将尝试通过多次选择在Php中解决它。谢谢你可能的副本