SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.07.2014 13:31:50

Osi322
Участник
Зарегистрирован: 04.07.2014
Сообщений: 24

Вопрос по Select и Join

Здравствуйте, вопрос заключается в следующем, для понимания приведу пример с двумя таблицами:
1) В первой таблице хранятся названия городов
CREATE TABLE `town` (
  `ID` int(8) NOT NULL AUTO_INCREMENT,
  `name_town`  varchar(80)  NOT NULL,
   PRIMARY KEY (`ID`)
)
2) во второй таблице хранятся ID городов из первой таблицы
CREATE TABLE `way_town` (
  `ID` int(8) NOT NULL AUTO_INCREMENT,
  `ID_in_town`  int(8) NOT NULL,
  `ID_out_town`  int(8) NOT NULL,
   PRIMARY KEY (`ID`)
--------------------------------
Как вывести таблицу вида:
-----------------------------
id|name_in|name_out
1|Сургут|Тюмень
----------------------------
Как выводить name_in я понял :
select way_town.ID, name_town as name_in  from way_town
left join town on way_town.ID_in_town=town.ID

Но как вывести name_out? как не пытался ошибка(свои попытки "бред" писать не буду), помогите пожалуйста понять и правильно построить запрос..

Неактивен

 

#2 04.07.2014 13:49:55

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Вопрос по Select и Join

Используйте алиасы (синонимы) для таблиц:

SELECT w.id, t_in.name_town, t_out.name_town FROM way_town w JOIN town t_in ON w.ID_in_town=t_in.ID JOIN town t_out ON w.ID_out_town=t_out.ID;

Неактивен

 

#3 04.07.2014 14:18:00

Osi322
Участник
Зарегистрирован: 04.07.2014
Сообщений: 24

Re: Вопрос по Select и Join

Спасибо большое за помощь и оперативность! не додумался для таблиц синонимы сделать..

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson