Выбрать данный из таблицы по максимальному совпадению

Ge0SuB

Guest
Выбрать данный из таблицы по максимальному совпадению

Такой вопрос...
есть таблица, в ней есть поле CODE
в котором коды стран, к примеру

38044
38048
380442
38044568

мне нада сделать запрос, в котором я указиваю дистанцию, например
380442425318
нада, что-бы была выбрана запись со значением кода 380442
или если запрос
380445687677
то соответственно записась с кодом 38044568

каким образом можно это организовать? Спасибо.
 

vitus

мимо проходил
если правильно понял вопрос, то это решается в sql с помощью LIKE

select * from codes
where '380442425318' like concat(code,'%')

на мойскле работает, проверил :)
сортируешь и берёшь первого попавшегося
 

Ge0SuB

Guest
Да работает, НО! На нада так отсортировать, что-бы на первом месте была та запись которая МАКСИМАЛЬНО совпадаеть
тоесть
при
select * from OutPrice
where '380442425318' like concat(code,'%') and code != ""
запросе
получаеться такая фигня

380 Ukraine Proper
380442 Ukraine Kiev
380442 Kiev
380 Ukraine

А должно быть так

380442 Ukraine Kiev
380442 Kiev
380 Ukraine Proper
380 Ukraine
 

Ge0SuB

Guest
Да, я уже понял, спасибки большое за помощь!!!
 
Сверху