Доброго времени суток!
Имеется две таблицы table1 и table2, необходимо в поле prefix таблицы1 записать значение содержащиеся в таблице2, но при условии, что значение таблицы2 является префиксом значения в поле code таблицы1 и проверка начинается со значений наибольшей длины и по убывающей. Обрабатываются только те значения в поле code таблицы1 длина которых >= 3
--table1
code prefix
789 null
456 null
123 null
74 null
--table2
prefix
789
45
1
--результат--
--table1
code prefix
789 789
456 45
123 1
Пытался вот такой запрос выполнить, но он не проходит:
UPDATE table1 SET prefix =
(SELECT prefix FROM table2 WHERE table1.code like table2.prefix + '%' ORDER BY LEN(table2.prefix) DESC)
WHERE prefix IS NULL
AND LEN(code) >= 3
Не ругайте, если вопрос не корректно сформулировал :)