2017-06-09 177 views
0

如何将我从一个查询中获得的结果应用到另一个查询中,我将与UNION加入?我试图通过一次使用SQL查询来删除根链接及其所有子节点。我当然可以得到结果,然后用PHP做另一个查询调用,但是如果可能的话,不要这样做。到目前为止,我来到这个代码不工作:MySQL - 在另一个UNION查询中使用查询结果

SELECT id AS layer1 
FROM AdminNavigation 
WHERE id = 1 

UNION 

SELECT id AS layer2 
FROM AdminNavigation 
WHERE parentId = layer1 

UNION 

SELECT id AS layer3 
FROM AdminNavigation 
WHERE parentId = layer2 
+0

从外观上看,我认为你想嵌套的孩子,但我不知道。你可以添加样本数据和预期的输出,以便清楚你想要什么。 –

回答

1
SELECT id AS layer1 
FROM AdminNavigation 
WHERE id = 1 

UNION 

SELECT id AS layer2 
FROM AdminNavigation 
WHERE parentId in(SELECT id 
FROM AdminNavigation 
WHERE id = 1 
) 

UNION 

SELECT id AS layer3 
FROM AdminNavigation 
WHERE parentId in (
SELECT id 
FROM AdminNavigation 
WHERE parentId in(SELECT id 
FROM AdminNavigation 
WHERE id = 1 
)) 

你不能简单地把内部查询一样简单解析。 正如我在上面的查询中试过的。

希望这会有所帮助

+0

谢谢你的工作(虽然最后缺乏最后一个支架)。 – Donatas

+0

是的,我有更新。 –

相关问题