Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Исключение записи / 5 сообщений из 5, страница 1 из 1
03.11.2021, 15:12
    #40108976
USR_2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение записи
Всем привет !

Помогите, никак не справлюсь с мыслями...

Есть запрос
Код: plsql
1.
2.
3.
4.
select    t.lic_id, t.L_P, t.start_time, t.stop_time
            from elpay.license_holding t
            where  t.holder_type=3 
            and t.L_P=999 



результат

LIC_ID | L_P | START_TIME | STOP_TIME 100001 | 999 | 03.11.2021 | 03.11.2021 100001 | 999 | 04.11.2021 | 100002 | 999 | 03.11.2021 | 03.11.2021

необходимо:

Что бы были записи с stop_time is not null, при этом если есть запись с идентичными ключами LIC_ID, L_P где stop_time is null не выводить их совсем.

В данном выводе должна остаться только последняя строка
...
Рейтинг: 0 / 0
03.11.2021, 15:38
    #40108990
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение записи
USR_2020,

1) and not exists(select 1 from ...)
2) max(decode(STOP_TIME,null,1,0)) over (partiton by LIC_ID, L_P) =0

....
stax
...
Рейтинг: 0 / 0
03.11.2021, 15:58
    #40108994
USR_2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение записи
Stax,

Простите, а можно применительно к примеру...
хотя бы с экзистом ))
...
Рейтинг: 0 / 0
03.11.2021, 16:25
    #40109007
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение записи
USR_2020,

Код: 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.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
SQL> ed
Wrote file afiedt.buf

  1  with  license_holding (lic_id, L_P, start_time, stop_time) as (
  2  select 100001 , 999 ,'03.11.2021','03.11.2021' from dual union all
  3  select 100001 , 999 ,'04.11.2021',null from dual union all
  4  select 100002 , 999 ,'03.11.2021','03.11.2021' from dual union all
  5  select 100002 , 999 ,'04.11.2021','04.11.2021' from  dual)
  6  select    t.lic_id, t.L_P, t.start_time, t.stop_time
  7              from license_holding t
  8              where  1=1
  9              --and holder_type=3
 10              --and t.L_P=999
 11  and not exists (
 12    select 1 from license_holding e
 13    where e.lic_id=t.lic_id and e.l_p=t.l_p and e.stop_time is null --еще что-то
 14* )
SQL> /

    LIC_ID        L_P START_TIME STOP_TIME
---------- ---------- ---------- ----------
    100002        999 04.11.2021 04.11.2021
    100002        999 03.11.2021 03.11.2021

SQL> ed
Wrote file afiedt.buf

  1  with  license_holding (lic_id, L_P, start_time, stop_time) as (
  2  select 100001 , 999 ,'03.11.2021','03.11.2021' from dual union all
  3  select 100001 , 999 ,'04.11.2021',null from dual union all
  4  select 100002 , 999 ,'03.11.2021','03.11.2021' from dual union all
  5  select 100002 , 999 ,'04.11.2021','04.11.2021' from  dual)
  6  ,tt as(
  7  select    t.lic_id, t.L_P, t.start_time, t.stop_time
  8    ,max(decode(stop_time,null,1,0)) over(partition by lic_id,l_p) o
  9              from license_holding t
 10              where  1=1
 11              --and holder_type=3
 12              --and t.L_P=999
 13  )
 14* select * from tt where o=0
SQL> /

    LIC_ID        L_P START_TIME STOP_TIME           O
---------- ---------- ---------- ---------- ----------
    100002        999 03.11.2021 03.11.2021          0
    100002        999 04.11.2021 04.11.2021          0

SQL>




.....
stax
...
Рейтинг: 0 / 0
03.11.2021, 16:38
    #40109015
USR_2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение записи
Stax,

До второго я не дорос, но понял мысль... круто !!!

Первое реализовал, ошибку свою увидел, почему не получалось у меня с not in и exist...

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


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