2015-09-28 3 views
0

Мне было интересно, может ли кто-нибудь помочь с этим запросом MySQL. Было сложно найти ответ, так как не знаю, что это за запрос.MySQL Query - перевод нескольких столбцов

Это выходная таблица желательна:

ID  Capital1 Capital2 Capital3 
Maps1 Paris  London Rome 

эта таблица Карты

ID  Country1 Country2 Country3 
Map1 France UK  Italy 

Это таблица Страны

*Country* *Capital* 
France Paris 
UK  London 
Italy  Rome 
Spain  Madrid 
Greece Athens 

Заранее спасибо

+0

Что вы хотите сказать? Возможно, зайдите в таблицу стран с таблицей карт на этих полях? – khuderm

ответ

2

Регистрация country таблица 3 раза с разными псевдонимами именами

select m.id, 
     c1.capital as capital1, 
     c2.capital as capital2, 
     c3.capital as capital3 
from maps m 
left join country c1 on c1.country = m.country1 
left join country c2 on c2.country = m.country2 
left join country c3 on c3.country = m.country3 

BTW вы должны фактически нормализовать дизайн таблицы и не храните страны в maps в таблице.

+0

в зависимости от варианта использования, который вы, возможно, захотите изменить на 'INNER JOIN'. но это решение – khuderm

+0

Спасибо - это работает, но возвращает много результатов. Каков наилучший способ ограничить результаты WHERE ID = 'Map1'. – PlumsAhoy

+0

И да, возможно, одна из причин, по которой я не мог найти ответа, состоит в том, что таблица должна быть нормализована. – PlumsAhoy

Смежные вопросы