こんにちは私はこのようにテーブル構造を持っています:
mysql>DESC file;
file_id
fullpathname
レコード付き
file_id | fullpathname
--------+------------------------------------------------------
6 | /var/tmp/4x4 and 6x4/test/test3.txt
7 | /var/tmp/4x4 and 6x4/test/somefile
8 | /var/tmp/4x4 and 6x4/test
9 | /var/tmp/4x4 and 6x4/6x4_1.JPG
10 | /var/tmp/4x4 and 6x4/6x4_2.JPG
11 | /var/tmp/4x4 and 6x4/4x4_2.jpg
12 | /var/tmp/4x4 and 6x4/4x4_1.jpg
13 | /var/tmp/dir/4x4 and 6x4
クエリは私が以下に持っているものとほぼ同じである必要があります(しかしそれは機能していません)
SELECT * FROM file
WHERE fullpathname LIKE '/var/tmp/4x4 and 6x4%'
AND fullpathname NOT LIKE '/var/tmp/4x4 and 6x4/%/'
ただし、file_id 6および7を返す必要はなく、1ノードの深さの「パス」を選択するだけで済みます。それは奇妙なものですが、これは状況です
それが返す必要があるのは
file_id | fullpathname
--------+------------------------------------------------------
8 | /var/tmp/4x4 and 6x4/test
9 | /var/tmp/4x4 and 6x4/6x4_1.JPG
10 | /var/tmp/4x4 and 6x4/6x4_2.JPG
11 | /var/tmp/4x4 and 6x4/4x4_2.jpg
12 | /var/tmp/4x4 and 6x4/4x4_1.jpg
13 | /var/tmp/dir/4x4 and 6x4