Та же идея, но с некоторыми изменениями: SQLite теперь распознает ссылочную целостность:
CREATE TABLE Table_a (id int, имя_файла varchar (300), folder_id int, FOREIGN KEY (folder_id) REFERENCES Table_b (folder_id));
CREATE TABLE Table_b (folder_id int, folder_path varchar (300));
CREATE TABLE Table_b (folder_id, folder_path) ЗНАЧЕНИЯ (1, 'c: \ abc \ somefolder \ another');CREATE TABLE Table_b (folder_id, folder_path) VALUES (2, 'c: \ abcNOT \ somefolder \ another');CREATE TABLE Table_a (id, имя_файла, имя_папки) VALUES (1, 'file1.txt', 1);CREATE TABLE Table_a (id, file_name, folder_id) VALUES (1, 'file2.txt', 1);CREATE TABLE Table_a (id, имя_файла, folder_id) ЗНАЧЕНИЯ (1, 'file2-1.txt', 2);
УДАЛИТЬ ИЗ Table_a ГДЕ folder_id IN (ВЫБРАТЬ folder_id ИЗ Table_b WHERE folder_path LIKE 'c: \ abc\% ');
SELECT * FROM Table_a;