テーブルの「フォルダ」と「ファイル」が多すぎるとしましょう
Folderに2つの列IDとFolderIDを持たせます
Folder
------
ID int primary <-.
FolderId Int --`
folderIdは、フォルダーテーブルのId列との内部関係です。
ファイルテーブルには2つの列IDとFolderIdがあります
File
-----
Id int primary
FolderID --->Folder.ID
FolderIdは、フォルダーテーブルのID列と外部関係を持っています
**Folder**
Id FolderId
--- --------
1 NULL
2 1
3 NULL
4 2
5 2
**file**
Id FolderID
--- ---------
1 2
2 3
3 2
4 4
5 5
あなたが状況を理解したことを願っています、
私たちが知っているように、フォルダ内とフォルダ内に多くのフォルダを作成できます(再帰的)
ここで、フォルダーid = 2とそのサブフォルダー内にあるすべてのファイル(id)のリストを取得します(必要なファイルIDは3,4,5です)。
再帰関数を使用すると、これを機能させることができますが、SQLでより効率的に行う方法