powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом
6 сообщений из 6, страница 1 из 1
Помогите с запросом
    #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
Помогите с запросом
    #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
Помогите с запросом
    #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
Помогите с запросом
    #39726908
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, работает, но вот как бы сделать так, учитывая что это супружеские пары с датой вступления в брак, оставить только актуальную дату (последнюю)?

Петров А.П. Петрова А.А. 02-OCT-00
Сидоров А.Ф. Сидорова А.К. 03-NOV-72
...
Рейтинг: 0 / 0
Помогите с запросом
    #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
Помогите с запросом
    #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
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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