2017-06-09 15 views
0

1つのクエリから取得した結果を、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

はい私はそれを更新しました。 –

関連する問題