powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом
5 сообщений из 5, страница 1 из 1
Помогите с запросом
    #39508992
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица 1 вида:

tbn name1 Аня2 Саша3 Таня4 Ваня5 Олег

Есть таблица 2 вида:

tbnnameotdsal1Аня1090002Саша1055003Таня1070004Ваня2023001Аня1080002Саша1060003Таня1060004Ваня202000

Как написать селект чтобы было вида:


tbnnameotdsal1Аня1090002Саша1055003Таня1070004Ваня2023005Олег001Аня1080002Саша1060003Таня1060004Ваня2020005Олег00

Когда пишу селект
Код: plsql
1.
2.
select t1.name, t1.tbn, t2.sal from persona t1
left join persona2 t2 on t1.name = t2.name;

получаю, не совсем то что нужно:

tbnnameotdsal1Аня1080001Аня1090002Саша 1060002Саша 1055003Таня 1060003Таня 1070004Ваня 2020004Ваня 2023005Олег 00
...
Рейтинг: 0 / 0
Помогите с запросом
    #39509002
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akaipbay,

в таблице 2 могут быть записи "Олег", результат должен быть типа:

tbnnameotdsal1Аня 1090002Саша 1055003Таня 1070004Ваня 2023005Олег 30 10001Аня 1080002Саша 1060003Таня 1060004Ваня 2020005Олег 0 01Аня 10180002Саша 10160003Таня 10160004Ваня 20120005Олег 0 0
...
Рейтинг: 0 / 0
Помогите с запросом
    #39509031
akaipbay,

partition left join
...
Рейтинг: 0 / 0
Помогите с запросом
    #39509122
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх,

Спасибо.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39509123
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akaipbayakaipbay,

в таблице 2 могут быть записи "Олег", результат должен быть типа:




желательно еще одно поле, порядок следования Ань

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
SQL> ed
Wrote file afiedt.buf

  1  with t1 (tbn,n) as (
  2  select 1,'Аня' from dual union all
  3  select 2,'Саша' from dual union all
  4  select 3,'Таня' from dual union all
  5  select 4,'Ваня' from dual )
  6  ,t2 (tbn,sal) as (
  7  select 1,100 from dual union all
  8  select 2,200 from dual union all
  9  select 4,400 from dual union all
 10  select 1,101 from dual union all
 11  select 4,501 from dual )
 12  ,tt as(select t2.*,row_number() over (partition by tbn order by rownum) gr from t2)
 13* select * from tt partition by (gr) RIGHT OUTER JOIN t1 on (tt.tbn=t1.tbn)
SQL> /

        GR        TBN        SAL        TBN N
---------- ---------- ---------- ---------- ----
         1          1        100          1 Аня
         1          2        200          2 Саша
         1                                3 Таня
         1          4        400          4 Ваня
         2          1        101          1 Аня
         2                                2 Саша
         2                                3 Таня
         2          4        501          4 Ваня

8 rows selected.

SQL>



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


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