次のテーブルがあり、MariaDB / mySQL に適切な SQL クエリを記述して、その下の結果を返したいと考えています。
"dirID" "parentID" "name"
"1" "0" "C:\"
"2" "1" "\temp"
"3" "1" "\Users"
"4" "3" "\Jon"
dirID name
1 C:
2 C:\temp
3 C:\Users
4 C:\Users\John
これまでのところ、次のように CASE WHEN を使用しようとしていますが、これは非効率的であり、問題の解決策ではないと確信しています。
cDir は子ディレクトリで、pDir は親です。
SELECT
cDir.dirID,
cDir.parentID,
cDir.name AS name,
CASE
WHEN cDir.parentID != 0 THEN ( SELECT pDir.name )
END AS path
FROM dirs AS cDir
JOIN dirs AS pDir ON cDir.parentID = pDir.dirID
最後に CONCAT を実行したいと思います。
何か助けはありますか?ありがとう。