powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Исключение записи
5 сообщений из 5, страница 1 из 1
Исключение записи
    #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
Исключение записи
    #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
Исключение записи
    #40108994
USR_2020
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Простите, а можно применительно к примеру...
хотя бы с экзистом ))
...
Рейтинг: 0 / 0
Исключение записи
    #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
Исключение записи
    #40109015
USR_2020
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

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

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

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


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