У меня есть поверхностное знание SQL, и у меня проблемы с запросом, слишком сложным для меня.SQL-выбор «лучших» строк
У меня есть таблица APPS с столбцом имени и описания, которые являются идентификаторами для ссылки на правильный перевод. И у меня есть таблица локализованных строк.
APPS (app_id, name_strid, description_strid) НИТИ (str_id, lang_id, струны)
Мне нужен запрос, вернуть все приложения, с лучшим переводом для каждого из строк. лучше в порядке языка (позвольте мне сказать: это-то, что, еп)
я достиг решение, чтобы получить все приложения заказ языков:
SELECT A.app_id, S1.string, S2.string
FROM APPS as A
JOIN STRINGS AS S1
ON A.name_strid = S1.str_id
JOIN STRINGS AS S2
ON A.description_strid = S2.str_id
WHERE S1.lang_id = S2.lang_id
AND S1.lang_id IN ("it-it", "it", "en")
ORDER BY
CASE S1.lang_id
WHEN "it-it" THEN 1
WHEN "it" THEN 2
WHEN "en" THEN 3
ELSE 4
END;
Как я могу получить только лучший язык ?
Благодаря
Так что, если он-то перевод присутствует всегда лучший перевод затем приходит и последний en? –