Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / JOIN только по одной строке из присоединяемой таблицы / 6 сообщений из 6, страница 1 из 1
26.11.2021, 12:23
    #40115200
kmskmskms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN только по одной строке из присоединяемой таблицы
как сделать чтоб при INNER JOIN присоеденялись не все записи а только по одной первой попавшейся из присоеденяемой таблицы?
тоесть чтоб общее количество строк не увеличилось по сравнению с тем если я запрошу данные только из первой таблицы
...
Рейтинг: 0 / 0
26.11.2021, 12:28
    #40115204
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN только по одной строке из присоединяемой таблицы
kmskmskms
как сделать чтоб при INNER JOIN присоеденялись не все записи а только по одной первой попавшейся из присоеденяемой таблицы?
тоесть чтоб общее количество строк не увеличилось по сравнению с тем если я запрошу данные только из первой таблицы


А как это при Inner Join присоединяются "все записи"?

Inner Join двух множеств может только оставить (1:1) или уменьшить общее количество записей.

Пример приведите и объясните подробнее.
...
Рейтинг: 0 / 0
26.11.2021, 12:29
    #40115205
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN только по одной строке из присоединяемой таблицы
kmskmskms,

Пример приведите пожалуйста. Две таблички с набором данных, как соединяете, что получаете, что хотите получить.
...
Рейтинг: 0 / 0
26.11.2021, 12:37
    #40115213
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN только по одной строке из присоединяемой таблицы
kmskmskms,

1) выбрать(отфильтровать) по одной записи из таблички, и соеденить с целевой
2) соеденить, в выборке оставить (отфильтровать) по одной записи

....
stax
...
Рейтинг: 0 / 0
26.11.2021, 13:36
    #40115237
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN только по одной строке из присоединяемой таблицы
...
Рейтинг: 0 / 0
26.11.2021, 16:23
    #40115310
Anton_Demin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN только по одной строке из присоединяемой таблицы
kmskmskms,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
with orders as (
select 1 ord_id, 'Order 1' ord_name from dual union all
select 2 ord_id, 'Order 2' ord_name from dual union all
select 3 ord_id, 'Order 3' ord_name from dual
)
, order_lines as (
select 1 ord_id, 1 line_id, 'O1 L1' line_name from dual union all
select 1 ord_id, 2 line_id, 'O1 L2' line_name from dual union all
select 2 ord_id, 3 line_id, 'O2 L1' line_name from dual union all
select 2 ord_id, 4 line_id, 'O2 L2' line_name from dual union all
select 2 ord_id, 5 line_id, 'O2 L3' line_name from dual union all
select 3 ord_id, 6 line_id, 'O3 L1' line_name from dual
)
select ord_id, ord_name, line_name 
from (  select o.ord_id, 
               o.ord_name, 
               ol.line_name, 
               row_number() over (partition by o.ord_id order by line_id) rn
        from orders o
         inner join order_lines ol on o.ord_id = ol.ord_id)
where rn = 1    
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / JOIN только по одной строке из присоединяемой таблицы / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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