読み取り可能な形式で提示したい親子関係を持つ SQL テーブルが与えられました。
関連する主な列は、Drawer、Folder、Document です。各引き出しには複数のフォルダーを関連付けることができ、各フォルダーには複数のドキュメントを関連付けることができます。ただし、フォルダーとドキュメントは同じレコードにリストされません。
このテーブルにはアイテムの種類が含まれており、フォルダーとドキュメントはどちらもアイテムと見なされます。それらを関連付けるために、テーブルはフォルダーの itemnumber をドキュメント レコードの parentID に割り当てます。
例えば:
DrawerID ItemID ParentID Type Name
1 1 0 Folder Folder 1
1 2 0 Folder Folder 2
1 3 0 Folder Folder 3
1 4 0 Folder Folder 4
1 5 1 Document Document A
1 6 1 Document Document B
1 7 1 Document Document C
1 8 2 Document Document A
1 9 3 Document Document A
1 10 3 Document Document B
私が探しているのは、次のような出力です。
Drawer 1
Folder 1
Document A
Document B
Document C
Folder 2
Document A
Folder 3
Document A
Document B
私が立ち往生している部分は、ParentID を ItemID に関連付ける方法です。最善のアプローチは、ある種の組合でしょうか? 新しいテーブルへの再帰的プログラミング? 私は SQL の専門家ではありません。クエリの一部をカット アンド ペーストしただけなので、短い単語を使用してください :)