4

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のパスに基づいて選択する

4

1 に答える 1

6

どうですか

WHERE PATH LIKE '/sdcard/%' and PATH not like '/sdcard/%/%'
于 2013-01-14T00:28:06.140 に答える