我正在将网站的页面存储在“页面”数据库表中,它们由路径引用(即“文章/我的第一篇博客文章”),我需要选择特定页面的所有子级,但不选择孙级。
所以如果我跑:

SELECT * FROM pages WHERE path LIKE 'articles%'

我将获得具有以下路径的页面:
articles/one
articles/two
articles/two/more
articles/three
articles/three/more/even-more

I need to filter them (in the query) to just:

articles/one
articles/two
articles/three

Is there anyway to do something like:

SELECT * FROM pages WHERE path LIKE 'articles%' AND path NOT LIKE 'articles%/%'

有什么想法吗?干杯。

最佳答案

你可以使用正则表达式。关键字REGEXPmysqlsqlite都有效:

... WHERE path REGEXP '^articles/[^/]+'

关于sql - 在MySQL/SQLite数据库中按路径选择页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1519904/

10-11 14:06