Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Сложный запрос (SQL)  [new]
Alimkulov
Member

Откуда:
Сообщений: 774
Всем привет. Не могу сделать SQL запрос.
Ест два таблицы:

flight --рейсов

|id|name|airfrom_ID|airto_ID|
| 1 | vv483 | 10113 | 10070 |
| 2 |7v-721 | 5013 | 10113 |


airports --аэропорты
| id | name_air|code_air |
|10113|ZHULYANY|IEV |
|10070|YUZHNY |TAS|
| 5013| LOCHINI |TBS|


Надо здесь делать выборку

№ п-п | Рейси | Аэропорт отправки | Аэропорт назначение |


где flight.airfrom_ID и flight. air_toID равно airports.id

Как это делается? Заранее спасибо!
1 дек 11, 17:41    [11691410]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Alimkulov

Как это делается? Заранее спасибо!


банальный джойн таблицы airports, но дважды
1 дек 11, 17:45    [11691437]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Alimkulov,

SELECT + JOIN + алиасы у аэропортов (потому что их два)
1 дек 11, 17:45    [11691438]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Это делается элементарным соединением таблиц
1 дек 11, 17:45    [11691443]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
Alimkulov,

Посмотреть в сторону JOIN(LEFT JOIN)
1 дек 11, 17:46    [11691448]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
select ...
  from flight as f
  join airports as a_fr on f.airfrom_ID = a_fr.ID
  join airports as a_to on f.airto_ID = a_to.ID
1 дек 11, 17:46    [11691450]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
Alimkulov
Member

Откуда:
Сообщений: 774
Написал так:

SELECT flight.id, flight.[name], airports.[Airport name]
FROM   flight AS f
 JOIN  airports AS a_fr ON f.airfrom = a_fr.id 
 JOIN  airports AS a_to on f.airto= a_to.id

Выдает ошибка:

Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "flight.id" could not be bound.
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "flight.name" could not be bound.
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "airports.Airport name" could not be bound.
1 дек 11, 17:56    [11691523]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Если вы задали для таблицы алиас - AS f, то будьте уже добры обращаться к таблице по этому алиасу
1 дек 11, 17:57    [11691535]     Ответить | Цитировать Сообщить модератору
 Re: Сложный запрос (SQL)  [new]
Alimkulov
Member

Откуда:
Сообщений: 774
Исправил и вот SQl код:

SELECT f.id, f.[name], a_fr.[Airport name],a_to.[Airport name]
FROM   flight AS f
 JOIN  airports AS a_fr ON f.airfrom = a_fr.id 
 JOIN  airports AS a_to on f.airto= a_to.id

Все отлично работает. Всем большое спасибо! Пойду дальше.
1 дек 11, 18:04    [11691606]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить