我正在尝试使用'Materialized Path'模式在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不够强大,无法理解'Scrum Meister的回应: Selecting based on path in mysql
答案 0 :(得分:6)
怎么样
WHERE PATH LIKE '/sdcard/%' and PATH not like '/sdcard/%/%'