2017-06-09 240 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

是的,我有更新。 –

相關問題