Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом / 6 сообщений из 6, страница 1 из 1
01.11.2018, 23:45
    #39726899
Piastry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Есть 2 таблицы: Person(ID, FIO)
100 Иванов И.И.
200 Иванова А.П.
300 Петров А.П.
400 Петрова А.А.
500 Сидорова А.Ф.
600 Сидорова А.К.


и Pairs(IDG, IDM, WEDDING_DATE).

1 100 400 01-FEB-98
2 300 400 02-OCT-00
3 500 600 03-NOV-72

Необходимо вывести:

Иванов И.И. Петрова А.А. 01-FEB-98
Петров А.П.Петрова А.А. 02-OCT-00
Сидорова А.К. 03-NOV-72
...
Рейтинг: 0 / 0
01.11.2018, 23:48
    #39726900
Piastry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Необходимо вывести:

Иванов И.И. Петрова А.А. 01-FEB-98
Петров А.П. Петрова А.А. 02-OCT-00
Сидорова А.Ф. Сидорова А.К. 03-NOV-72


Запрос:

select t1.e.fio, t2.e.fio, t2.wedding_date

from

(select a.id, e.fio, a.wedding_date
from pairs a join person e on a.idg = e.id) t1

left join

(select a.id, e.fio, a.wedding_date
from pairs a join person e on a.idm = e.id) t2

on t1.a.id = t2.a.id



выдает:

ORA-00904: "T2"."A"."ID": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 13 Column: 14
...
Рейтинг: 0 / 0
02.11.2018, 00:12
    #39726902
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Код: plsql
1.
2.
3.
4.
5.
6.
select g.fio, m.fio, p.wedding_date
  from pairs p
     , person g
     , person m
 where p.idg = g.id
   and p.idm = m.id
...
Рейтинг: 0 / 0
02.11.2018, 01:03
    #39726908
Piastry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Спасибо, работает, но вот как бы сделать так, учитывая что это супружеские пары с датой вступления в брак, оставить только актуальную дату (последнюю)?

Петров А.П. Петрова А.А. 02-OCT-00
Сидоров А.Ф. Сидорова А.К. 03-NOV-72
...
Рейтинг: 0 / 0
02.11.2018, 01:30
    #39726909
Piastry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Всем спасибо! Сам догадался.

select g.fio, m.fio, p.max_wedding_date
from

(select t1.idm, t2.idg, t2.max_wedding_date
from
(select idm, max(wedding_date) as max_wedding_date
from pairs
group by idm)t1
left join
(select idg, max(wedding_date) as max_wedding_date
from pairs
group by idg)t2
on t1.max_wedding_date = t2.max_wedding_date) p

, person g
, person m
where p.idg = g.id
and p.idm = m.id
...
Рейтинг: 0 / 0
02.11.2018, 09:49
    #39726991
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
PiastryСам догадался.


Код: 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.
33.
34.
35.
  1  with Person(ID, FIO) as (
  2  select 100,'Иванов И.И.' from dual union all
  3  select 200,'Иванова А.П.' from dual union all
  4  select 300,'Петров А.П.' from dual union all
  5  select 400,'Петрова А.А.' from dual union all
  6  select 500,'Сидорова А.Ф.' from dual union all
  7  select 600,'Сидорова А.К.' from dual)
  8  ,Pairs(id,IDG, IDM, WEDDING_DATE) as (
  9  select 1,  100,    400,to_date('01-02-98') from dual union all
 10  select 2,  300,    400,to_date('02-10-00') from dual union all
 11  select 3,  500,    600,to_date('02-10-00') from dual )
 12  select g.fio, m.fio, p.max_wedding_date
 13  from
 14  (select t1.idm, t2.idg, t2.max_wedding_date
 15  from
 16  (select idm, max(wedding_date) as max_wedding_date
 17  from pairs
 18  group by idm)t1
 19  left join
 20  (select idg, max(wedding_date) as max_wedding_date
 21  from pairs
 22  group by idg)t2
 23  on t1.max_wedding_date = t2.max_wedding_date) p
 24  , person g
 25  , person m
 26  where p.idg = g.id
 27* and p.idm = m.id
 28  /

FIO           FIO           MAX_WEDD
------------- ------------- --------
Сидорова А.Ф. Сидорова А.К. 02.10.00
Сидорова А.Ф. Петрова А.А.  02.10.00
Петров А.П.   Сидорова А.К. 02.10.00
Петров А.П.   Петрова А.А.  02.10.00



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


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