使用临时表的Mysql选择查询

使用临时表的Mysql选择查询,mysql,select,Mysql,Select,我想从指定父项的表中获取所有子项。为此,我使用以下代码,但我得到的错误 我在sql中使用了“with”子句尝试了相同的代码,但在mysql中我们不能使用“with”子句,所以我使用了这个。我找到了这张表格 这是我的密码 Select Ct.* from (Select * from data where parent_id=1 Union All Select T.* From data T Join CT on T.parent_id=CT.id ) CT 我得到了这

我想从指定父项的表中获取所有子项。为此,我使用以下代码,但我得到的错误

我在sql中使用了“with”子句尝试了相同的代码,但在mysql中我们不能使用“with”子句,所以我使用了这个。我找到了这张表格

这是我的密码

 Select Ct.* from 
(Select * from data where parent_id=1
    Union All 
    Select T.* From data T Join  CT on T.parent_id=CT.id
) CT
我得到了这个错误

46 - Table 'db_wtg.ct' doesn't exist 

请帮帮我。

我假设您正在使用MySQL。如果是这种情况,MySQL表名是区分大小写的。您正在将临时表创建为“CT”,并试图从一个不存在的表“CT”中进行选择。

您不能从子查询本身引用子查询的结果集。那么我该如何做?我不知道…请建议您要么重新构造数据,要么编写存储过程。MySQL基本上不支持递归或分层查询。好吧……但我不知道这方面的递归存储过程……你能帮我提供代码吗?检查这些,这不是OP问题的实际原因。真正的原因是MySQL不支持递归查询。我确实错过了其中的递归查询。那也不会飞。