Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / помогите с запросом / 5 сообщений из 5, страница 1 из 1
08.07.2004, 17:32:38
    #32596108
v!a
v!a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
есть две таблицы:

logistics (ord_id, good_id, dealer_id)

и

dealersgoods (good_id,dealer_id, d_pn)

нужно сделать выборку, которая выбирала бы следующие поля:

logistics.ord_id, logistics.good_id, logistics.dealer_id, dealersgoods.d_pn

то есть ставила в соответствие сочетанию good_id, dealer_id из logistics соответствующий g_pn из dealersgoods
при этом не все сочитания good_id, dealer_id из logistics есть в dealersgoods (например, good_id=2, dealer_id=1 в logistics есть, а в dealersgoods нет...)
...
Рейтинг: 0 / 0
08.07.2004, 17:35:53
    #32596116
mv
mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
при этом не все сочитания good_id, dealer_id из logistics есть в dealersgoods

Что должно быть на выходе в этом случае?
...
Рейтинг: 0 / 0
08.07.2004, 17:40:07
    #32596128
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
Если, как я понял, ord_id - это порядковый номер, то надо было dealergoods делать со структурой dealergoods(fkord_id,d_pn). тогда твоя задача решалась бы с помощью LEFT OUTER JOIN
...
Рейтинг: 0 / 0
08.07.2004, 19:59:13
    #32596353
doroshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
Если сделаешь так:
Код: plaintext
1.
2.
3.
select logistics.ord_id, logistics.good_id, logistics.dealer_id, dealersgoods.d_pn 
  from logistics left join dealersgoods on logistics.dealer_id=dealersgoods.dealer_id
   and logistics.good_id=dealersgoods.good_id
То на выходе получишь, кроме всего прочего, строку:
Код: plaintext
1.
2.
ord_id      good_id       dealer_id      d_pn
     1           2               1     <null>

Если так:
Код: plaintext
1.
2.
3.
select logistics.ord_id, logistics.good_id, logistics.dealer_id, dealersgoods.d_pn 
  from dealersgoods left join logistics on logistics.dealer_id=dealersgoods.dealer_id
   and logistics.good_id=dealersgoods.good_id
То на выходе этой строки - не будет...
...
Рейтинг: 0 / 0
11.07.2004, 14:46:15
    #32598749
v!a
v!a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
doroshkaЕсли сделаешь так:
Код: plaintext
1.
2.
3.
select logistics.ord_id, logistics.good_id, logistics.dealer_id, dealersgoods.d_pn 
  from logistics left join dealersgoods on logistics.dealer_id=dealersgoods.dealer_id
   and logistics.good_id=dealersgoods.good_id
То на выходе получишь, кроме всего прочего, строку:
Код: plaintext
1.
2.
ord_id      good_id       dealer_id      d_pn
     1           2               1     <null>


спасибо! это то, что нужно.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / помогите с запросом / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]