powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / помогите с запросом
5 сообщений из 5, страница 1 из 1
помогите с запросом
    #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
помогите с запросом
    #32596116
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при этом не все сочитания good_id, dealer_id из logistics есть в dealersgoods

Что должно быть на выходе в этом случае?
...
Рейтинг: 0 / 0
помогите с запросом
    #32596128
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если, как я понял, ord_id - это порядковый номер, то надо было dealergoods делать со структурой dealergoods(fkord_id,d_pn). тогда твоя задача решалась бы с помощью LEFT OUTER JOIN
...
Рейтинг: 0 / 0
помогите с запросом
    #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
помогите с запросом
    #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
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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