Поиск:

Ответ в темуСоздание новой темы Создание опроса
> правильная постановка SQL запроса 
:(
    Опции темы
djnv
Дата 13.1.2011, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


техноадепт



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.9.2003

Репутация: нет
Всего: нет



Уважаемые, подскажите как правильно составить запрос. Основная сложность в том что в таблице move есть поля id_region_in и id_region_out - это, соответственно, id района в который переместили технику и id района, откуда переместили. Вопрос в том как из таблицы region вытащить названия районов по их id?

SELECT move.*,region.name as region_in, region.name as region_out, workers.surname FROM move 
LEFT JOIN region ON(move.id_region_in=region.id)
LEFT JOIN region ON(move.id_region_out=region.id)
LEFT JOIN workers ON(move.t_id=workers.t_id);

само собой вылетает ошибка " #1066 - Not unique table/alias: 'region' "

Это сообщение отредактировал(а) djnv - 13.1.2011, 08:06
PM MAIL WWW ICQ Skype GTalk   Вверх
Frees
Дата 13.1.2011, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Код

SELECT M.*,
       R_IN.NAME AS REGION_IN,
       R_OUT.NAME AS REGION_OUT,
       W.SURNAME
FROM MOVE M
    LEFT JOIN REGION R_IN ON (M.ID_REGION_IN = R_IN.ID)
    LEFT JOIN REGION R_OUT ON (M.ID_REGION_OUT = R_OUT.ID)
    LEFT JOIN WORKERS W ON (M.T_ID = W.T_ID);



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
djnv
Дата 13.1.2011, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


техноадепт



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.9.2003

Репутация: нет
Всего: нет



 smile спасибо, Frees !
Буду сидеть разбираться как это работает, чтобы еще раз не спрашивать в будущем smile
PM MAIL WWW ICQ Skype GTalk   Вверх
Deniz
Дата 13.1.2011, 08:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(djnv @  13.1.2011,  10:18 Найти цитируемый пост)
Буду сидеть разбираться как это работает,
одну таблицу можно сколь угодно раз прицепить по join, главное дать алиас 
Код
join table aliasname
и далее к полям нужной таблицы обращаться по ее алиасу и соот-но каждому из этих полей присвоить свой алиас 
Код
R_IN.NAME AS REGION_IN, R_OUT.NAME AS REGION_OUT



--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
djnv
Дата 13.1.2011, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


техноадепт



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.9.2003

Репутация: нет
Всего: нет



Цитата(Deniz @ 13.1.2011,  10:28)
Цитата(djnv @  13.1.2011,  10:18 Найти цитируемый пост)
Буду сидеть разбираться как это работает,
одну таблицу можно сколь угодно раз прицепить по join, главное дать алиас 
Код
join table aliasname
и далее к полям нужной таблицы обращаться по ее алиасу и соот-но каждому из этих полей присвоить свой алиас 
Код
R_IN.NAME AS REGION_IN, R_OUT.NAME AS REGION_OUT

ясно. Спасибо за пояснение, Deniz ! smile 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.