0
フィールドでデータの順序を並べ替える方法は2つのテーブルに存在する?
シーケンスは、フォルダテーブルとファイルテーブルに存在し、どのようにフィールドでデータの順序を並べ替える方法2つのテーブルにクロス/存在する
クエリ
SELECT * FROM folder fo
LEFT JOIN file fi ON fi.parent_folder_id = fo.id
WHERE fo.parent_folder_id = $1 AND fi.parent_folder_id = $1
ORDER BY fo.sequence fi.sequence ?? ; << my problem
[1]
データ例
folder
id | sequence | parent_folder_id | name
1 | 0 | | root
2 | 0 | 1 |
3 | 2 | 1 |
file
id | sequence | parent_folder_id |
1 | 1 | 1 |
出力
folder(id:1, sequence:0 name:root)
folder(id:2, sequence:0)
file(id:1, sequence:1)
folder(id:3 sequence:2)
:あなたもリストに親フォルダを含めたい場合は、私は固定された下部可能な順序で別のUNIONとALLサブクエリをそれを追加したいですfi.sequence
Gerrat
私はそれらを組み合わせて、問題のような出力で注文したい – user1775888
'fo.parent_folder_id = $ 1 AND fi.parent_folder_id = $ 1'が正しいですか? ANDの代わりにORを意味しないのですか? – MatheusOl