Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Очень интересная задача / 11 сообщений из 11, страница 1 из 1
04.12.2017, 14:29
    #39563721
torrenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
Добрый день!
Будут благодарен, за помощь в решении задачи.

В таблице есть поля:
- фамилия,
- имя,
- отчество,
- дата рождения
- и еще несколько других.
Надо выбрать все записи таблицы, при этом в отдельном поле вывести отметку для записей, где для каждого уникального сочетания ФИО даты рождения больше самой минимальной и меньше самой максимальной для каждого уникального ФИО.
Если записей с такими ФИО только 1 или 2, то они должны быть помечены.
...
Рейтинг: 0 / 0
04.12.2017, 14:46
    #39563744
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
torrenton,

тебе интересно, ты и делай
...
Рейтинг: 0 / 0
04.12.2017, 14:50
    #39563749
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
...
Рейтинг: 0 / 0
04.12.2017, 14:53
    #39563756
torrenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
Уважаемые ГУРУ SQL, очень прошу вас помочь вас в решении непосильной для меня задачи.

Буду всем советовать ваш драгоценный опыт и рекомендовать вам нужный сайт.
...
Рейтинг: 0 / 0
04.12.2017, 15:08
    #39563777
Очень интересная задача
torrentonвам нужныйкто на ком стоял?
...
Рейтинг: 0 / 0
04.12.2017, 15:15
    #39563787
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
torrentonБуду всем советовать
Слабо мотивируешь, твои сокурсники для ГУРУ - что камни в почках
...
Рейтинг: 0 / 0
04.12.2017, 15:38
    #39563815
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
torrenton,
Мессир, чтобы Вам помогли (а мы не звери), Вам нужно показать, что Вы что-то сделали.
Вы не первый: Студентам, желающим помощи


То есть:
1) Вы должны четко описать условия задачи, что на входе, что на выходе
2) Подготовить тестовые данные, желательно в формате
Код: plsql
1.
2.
3.
4.
5.
6.
with staff (name1,name2,family,birthday) as (
select 'Амвросий','Амбруазович','Выбегайлло',to_date('13.11.1812,'DD.MM.YYYY') from dual union all
select 'Александр','Иванович','Привалов',to_date('22.10.1938,'DD.MM.YYYY') from dual union all
select 'Христобаль',Хозеевич','Хунта',to_date('01.01.0005,'DD.MM.YYYY') from dual
)
select name1,name2,family,birthday from staff;



3) Показать Ваш селект и внятно объяснить, что не получилось

p.s. правильно охранять и стойко оборонять оформлять и внятно отвечать
ИСПОЛЬЗУЙТЕ ТЭГИ SRC для формления

Удачи!
...
Рейтинг: 0 / 0
04.12.2017, 15:45
    #39563828
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
torrenton,

Правильный код...
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with staff (name1,name2,family,birthday) as (
select 'Амвросий','Амбруазович','Выбегайлло',to_date('13.11.1812','DD.MM.YYYY') from dual union all
select 'Александр','Иванович','Привалов',to_date('22.10.1938','DD.MM.YYYY') from dual union all
select 'Христобаль','Хозеевич','Хунта',to_date('01.01.0005','DD.MM.YYYY') from dual
)
select name1,name2,family,birthday from staff
/
...
Рейтинг: 0 / 0
04.12.2017, 15:50
    #39563835
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
torrenton, "вывести отметку для записей, где для каждого уникального сочетания ФИО даты рождения больше самой минимальной и меньше самой максимальной для каждого уникального ФИО." означает пометить все кроме min/max для каждого уникального ФИО. Посему банальная аналитическая функция MIN/MAX есть все что нужно для этой "Очень интересная задача".

SY.
...
Рейтинг: 0 / 0
04.12.2017, 15:54
    #39563844
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
torrenton,
Код: 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.
SQL> ed
Wrote file afiedt.buf

  1  with t (f,i,o,dn) as (
  2  select 'ivanov','ivan','ivanovich',date '1960-01-05' from dual union all
  3  select 'ivanov','ivan','ivanovich',date '1970-01-05' from dual union all
  4  select 'ivanov','ivan','ivanovich',date '1971-01-05' from dual union all
  5  select 'ivanov','ivan','ivanovich',date '2000-01-05' from dual union all
  6  select 'ретроv','ivan','ivanovich',date '1980-01-05' from dual union all
  7  select 'ретроv','ivan','ivanovich',date '1990-01-05' from dual
  8  )
  9  select t.*
 10  ,case
 11    when count(*) over (partition by f,i,o)<=2 then 1
 12    when min(dn)  over (partition by f,i,o)< dn and
 13         max(dn)  over (partition by f,i,o)> dn then 1
 14   end flag
 15*  from t
SQL> /

F      I    O         DN             FLAG
------ ---- --------- -------- ----------
ivanov ivan ivanovich 05.01.60
ivanov ivan ivanovich 05.01.70          1
ivanov ivan ivanovich 05.01.71          1
ivanov ivan ivanovich 05.01.00
ретроv ivan ivanovich 05.01.80          1
ретроv ivan ivanovich 05.01.90          1

6 rows selected.



.....
stax
...
Рейтинг: 0 / 0
04.12.2017, 15:59
    #39563847
torrenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень интересная задача
Спасибо!
Буду дальше изучать матчасть...)
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Очень интересная задача / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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