Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос на выборку, немогу составить 
:(
    Опции темы
Dimyan
Дата 20.1.2005, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 441
Регистрация: 12.1.2004
Где: Новосибирск

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



Помогите пожалуйста составить запрос на выборку, совсем запарился smile

Задача такова
Есть таблица CUSTOMERS (с клиентами) и есть таблица ORDERS
в таблице ORDERS среди прочих есть поля CITY_ID (ID города), SENDER_ID (ID отправителя связанный с полем ID таблицы CUSTOMERS), RECEIVR_ID (ID получателя так же связанный с полем ID таблицы CUSTOMERS)
в таблице CUSTOMERS поля ID (счетчик, ключ) и CUSTOMERS_NAME (имя клиента)
Получатели и Отправители хранятся в одной таблице потому что отправитель может быть получателем и наоборот.
Нужен запрос который бы при указании CITY_ID отображал имена SENDER_ID и RECEIVR_ID из таблицы CUSTOMERS


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
Rakhim
Дата 20.1.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Примерно так

Код

SELECT ORDERS.CITY_ID, ORDERS.SENDER_ID, ORDERS.RECEIVR_ID, CUSTOMERS.CUSTOMERS_NAME AS S_NAME, CUSTOMERS_R.CUSTOMERS_NAME AS R_NAME
FROM CUSTOMERS CUSTOMERS_R
  INNER JOIN ORDERS ON (CUSTOMERS_R.ID = ORDERS.RECEIVR_ID)
  INNER JOIN CUSTOMERS ON (ORDERS.SENDER_ID = CUSTOMERS.ID)
WHERE ORDERS.CITY_ID=1

PM MAIL   Вверх
Alex
Дата 21.1.2005, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Скорее так:
Код

SELECT ORDERS.CITY_ID, ORDERS.SENDER_ID, ORDERS.RECEIVR_ID, CUSTOMERS.CUSTOMERS_NAME AS S_NAME, CUSTOMERS_R.CUSTOMERS_NAME AS R_NAME
FROM CUSTOMERS CUSTOMERS_R
 LEFT JOIN ORDERS ON (CUSTOMERS_R.ID = ORDERS.RECEIVR_ID)
 LEFT JOIN CUSTOMERS ON (ORDERS.SENDER_ID = CUSTOMERS.ID)
WHERE ORDERS.CITY_ID=1



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

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

1. Версию InterBase (Firebird, Yaffil)

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

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




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


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

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