#mysql #sql
Вопрос:
Для этого случая у меня есть три таблицы, использующие mysql в phpMyAdmin. Первый-это Provice, второй — Город, а третий-Пользователь.
Province table: id name -------------- 1 province1 2 province2 3 province3 City table: id name ------------ 1 city1 2 city2 3 city3 User table: id name addressB cityA provinceA addressB cityB provinceB ---------------------------------------------------------------------------------- 1 Adam Mango street 1 1 banana street 2 1 2 Antonio Peach street 3 2 banana street 2 1
Мой вопрос таков: как я могу присоединиться к таблице провинций и городов с помощью запроса, чтобы получить такой результат:
id name addressA cityA provinceA addressB cityB provinceB ------------------------------------------------------------------------------------- 1 Adam Mango street city1 province1 banana street city2 province1 2 Antonio Peach street city3 province2 Guava street city2 province1
Должен ли я разделить cityA, cityB, ProvinceA и ProvinceB из таблицы пользователей на независимую таблицу? Или есть какие-то вопросы, о которых я никогда раньше не думал?
Ответ №1:
Запрос должен присоединиться к таблице ссылок один раз для каждого столбца
select a.*, ca.name cityA, cb.name cityB, pa.name provinceA, pb.name provinceB from user_table a join city_table ca on a.cityA = ca.id join city_table cb on a.cityB = cb.id join province_table pa on a.provinceA = pa.id join province_table pb on a.provinceB = pb.id ;