私はFirebird 2.1を使用しています。これらのフィールドで、表名のフォルダがあります:このクエリの結果を元に戻すにはどうすればよいですか?
FolderID
ParentFolderID
FolderName
ParentFolderIDは-1、それは、ルートフォルダの場合 - それ以外の場合は、親フォルダのIDが含まれています。
次の再帰クエリは、順番に、フォルダの親を返します。
:子\親\親の親
WITH RECURSIVE hierarchy (folderid, ParentFolderId, FolderName) as (
SELECT folderid, ParentFolderId, FolderName
FROM folders
WHERE folderid = :folderid
UNION ALL
SELECT folderid, ParentFolderId, FolderName
FROM folders f
JOIN hierarchy p ON p.parentFolderID = f.folderID
)
SELECT List(FolerName, ' \ ') FROM hierarchy
結果は次のようになります
上記のクエリの結果を逆にするにはどうすればよいでしょうか:
親の親\ Parent \ Child?
ありがとうございます!
どのデータベースをお使いですか?これは、Oracleでは単純です... – Randy
最初の文とタグを参照してください。 Firebird 2.1 – Steve
このページによると:http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html、リスト値の順序は 'LIST()'では未定義です。 –