Chvalov
@Chvalov

Выборка страны VIN номера с помощью SQL запроса, как реализовать?

Нужно выбрать с помощью SQL запроса нужную страну из WMI vin-номера
Данные взяты с wiki и загнаны в MySQL DB
спойлер - фото
Страны:
9FKOqJZ.png
Континент:
iYDq1HO.png


Континент с БД выбираю таким образом:
SET @continent='M'; ### J<->R (Asia)

SELECT VinCode.wmi_continent.`name` FROM VinCode.wmi_continent
WHERE VinCode.wmi_continent.`start_char` <= @continent AND VinCode.wmi_continent.`stop_char` >= @continent;

На выходе континент

А вот как быть с странами, не знаю :-(
Так как порядок с меньшего до большего такой (Пример по Казахстану):
От KS до K0 = S, T, V, W, X, Y, Z, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0
подробнее
KS, KT, KV, KW,...........,KZ, K1, K2, ......., K8, K9, K0


И способом которым я выбираю континенты уже не получиться (Хорошо заметно будет при выборке Каймановых островов)
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Wexter
а не проще хранить сразу в исходниках хеш таблицей?
ну либо выгружать из базы все сразу и по хеш таблице выбирать
Ответ написан
@d-stream
Готовые решения - не подаю, но...
1. С VIN больше исключений, чем правил )
2. Еще бывают вторые VIN номера, которые при локализованных сборках важнее первых...

Ну а так: гребем данные в обратном порядке к степени детализации - т.е. вначале наиболее частные, потом более общие... а от всего этого top 1

В итоге в самом абстрактно-кривом варианте получится только континент, а в других - и страна и производитель и модель.
Ответ написан
fenric
@fenric
Под такую задачу проще библиотеку использовать, которая не использует вообще СУБД, как вариант:
https://github.com/sunrise-php/vin
Она возвращает регион, страну и производителя...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы