У меня есть таблица, среди других столбцов, столбец с именем filename, который содержит имена файлов с их расширением.
Мне нужно найти все имена файлов, которые были вставлены в таблицу с тем же именем файла, но с разными расширениями. Например, я ищу файлы вроде
01_ceremony_10021.flv
01_ceremony_10021.mp4
Мне нужен список файлов, которые существуют в форматах mp4 и flv.
Я пробовал несколько вещей вроде:
SELECT
archivo,
substr(archivo,1, locate(".flv", archivo)-1) as NomSinExt
FROM videoscampus
where (substr(archivo, -4) = '.flv' || substr(archivo, -4) = '.mp4' )
order by archivo asc
Но это просто дает мне весь список видео независимо.
Структура таблицы выглядит следующим образом:
Column Type
-----------------------------
id int(11) Auto Incr
filename varchar(250)
deleted int(1)
dateStart datetime
dateEnd datetime
И некоторые примеры имен файлов, которые мне нужно обнаружить:
agai_cpal_t6_cristinacoca.mp4
agai_cpal_t7_ent_ricardomartino_pacoarango.mp4
agai_cpal_t8_alejandrogonzalez.mp4
agai_cpal_t9_ent_ricardomartino_barbaradefranceschi.mp4
AHE_INF_MMijanco_T3_Macronutrientes.flv <---- DUPLICATE I'm looking for
AHE_INF_MMijanco_T3_Macronutrientes.mp4 <---- DUPLICATE I'm looking for
ahe_inf_prim_t10_maitemijancos.mp4
ahe_inf_t1_maitemijancos.mp4
ahe_inf_t10_maitemijancos.mp4
ahe_inf_t10.1_maitemijancos.mp4
ahe_inf_t10.2_maitemijancos.mp4
ahe_inf_t11_maitemijancos.mp4
ahe_inf_t12_javiertejedor.mp4
Заранее благодарим за ваше время и помощь.
-Orallo
Попробуй. Он разбивает таблицу на строки mp4 и flv, затем сравнивает совпадения в первой части каждого имени файла.
SELECT
SUBSTR(a.'filename',1,LOCATE('.flv')) as 'base_name',
a.'filename' as 'flv_file',
b.'filename' as 'mp4_file'
FROM 'videoscampus' a
JOIN 'videoscampus' b
ON b.'filename' LIKE '%.mp4'
AND SUBSTR(b.'filename',1,LOCATE('.mp4')) = SUBSTR(a.'filename',1,LOCATE('.flv'))
WHERE a.'filename' LIKE '%.flv'
AND a.'deleted' = 0
AND b.'deleted' = 0