SQL Слияние таблиц

Рейтинг: 0Ответов: 1Опубликовано: 17.04.2015

Есть список товаров, где есть поле title и desc. И есть другая таблица с переводами: title, desc, key. Где key, это — язык пользователя (ru, en и т.д). Как одним запросом выдернуть список всех товаров и склеить его с переводами, если они есть. То есть объединяются товары с общим id. Например, запрос с условием en, для всех товаров, где есть перевод, значением title и descпоменяются, а в остальных случаях останется из списка товаров. Так же уместны рекомендации об организации другой структуры.

Ответы

▲ 1Принят
select coalesce(t2.title,t1.title) as title, coalesce(t2.desc,t1.desc) as desc
from t1 left join t2 on t1.id=t2.id and t2.key = 'en'

coalesce