Я пытаюсь искать только имя файла из полного пути, используя эти запросы.SQL substring Issue (где substring (...) = (select ....))
SELECT
`file_name` FROM `tbl_files` where SUBSTR(`file_path`,
LOCATE('/',`file_path`)+1,
(CHAR_LENGTH(`file_path`) - LOCATE('/',REVERSE(`file_path`)) - LOCATE('/',`file_path`))) =
(Select `source_path` from `tbl_transcode_folder` where `trancode_folder_id` = 1)
Но это не возвращает мне ничего. Когда я заменяю (Select source_path from tbl_transcode_folder where trancode_folder_id = 1)
на результат mnt/hd/1
, как и запросы ниже, это ответ хочет, но я не хочу этого делать.
SELECT
`file_name` FROM `tbl_files` where SUBSTR(`file_path`,
LOCATE('/',`file_path`)+1,
(CHAR_LENGTH(`file_path`) - LOCATE('/',REVERSE(`file_path`)) - LOCATE('/',`file_path`))) = `mnt/hd/1`
Какое общее поле между этими двумя таблицами ??? Есть только одна строка в 'tbl_transcode_folder, где trancode_folder_id = 1' ??? –
между ними нет общих полей, другая таблица хранит полный путь, а другая таблица хранит имя dirname, возможно ли это даже без обычных полей.? TIA – Amboom
Как возможно, что вы сохраняете полный путь файла и имя каталога в двух таблицах, и в них нет полей? как вы знаете, в какой директории есть какой путь ???? –