AndroidアプリのSQLiteデータベースにディレクトリ構造を保存するために「マテリアライズドパス」パターンを使用しようとしています。私の単一のテーブルには、次のようなファイルパスである主キーフィールドがあります。
PATH(PK)
/sdcard/foo
/sdcard/bar
/sdcard/foo/music
/sdcard/foo/films
/sdcard/bar/photos
/sdcardディレクトリの直接の子のリストを取得したいと思います。このSQLを使用して/sdcardのすべての(間接的な)子孫を取得する方法を知っています:
WHERE PATH LIKE '/sdcard/%'
すべての行を返します。しかし、トップレベルの子だけを取得するためのSQLは何なので、次のようになります。
/sdcard/foo
/sdcard/bar
この質問への答えは洞察を提供するかもしれませんが、私のSQLは理解するのに十分なほど強力ではありません'スクラムマイスターの応答: mysqlのパスに基づいて選択する