powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Упростить SQL запрос
23 сообщений из 23, страница 1 из 1
Упростить SQL запрос
    #39786090
maximand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Я создал запрос, такой чтобы из длинного списка тарифов на каждый день, сделать короткий список с диапазоном дат (с - по).
Полагаю, что можно всё тоже самое сделать проще. Хотя вроде бы и так не плохо.
Посоветуйте.
PS тестовые данные with r as включены для удобства.

Код: sql
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.
with r as
 (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
  select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual),
f as
 (select rownum n, t.*
    from (select res_date,
                 rate,
                 case
                   when LAG(rate, 1) over(ORDER BY res_date) = rate then
                    '1'
                   else
                    '0'
                 end as ooo
            from r
           order by res_date) t
   where ooo = '0'),
l as
 (select rownum n, t.*
    from (select res_date,
                 rate,
                 case
                   when LEAD(rate, 1) over(ORDER BY res_date) = rate then
                    '1'
                   else
                    '0'
                 end as ooo
            from r
           order by res_date) t
   where ooo = '0')

select f.n, f.res_date, l.res_date, f.rate
  from f, l
 where f.n = l.n
   and f.rate = l.rate
 order by 2
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39786108
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STFF start_of_group
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with r as
 (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
  select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual)
  select rate, min(res_date), max(res_date) from (
  select res_date, rate, sum(sog) over (order by res_date) sog from (
select res_date, rate, case when rate <> nvl( lag(rate) over (order by res_date),'~') then 1 end sog from r))
group by rate, sog
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39786125
maximand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MazoHist,

СПАСИБО ОГРОМНОЕ!
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39786190
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
with r as
 (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
  select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual
)
select rm.*
  from r match_recognize(
            order by res_date
            measures s.rate as rate
                   , first(res_date) as date_from
                   , last(res_date) as date_till
            pattern(s next*)
            define next as s.res_date <= next.res_date and s.rate = next.rate
            ) rm
;

RATE  DATE_FROM   DATE_TILL
----- ----------- -----------
RATE1 01.01.2015  02.01.2015
RATE2 03.01.2015  07.01.2015
RATE1 08.01.2015  09.01.2015

SQL> 
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39786195
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

если есть order by res_date,
s.res_date <= next.res_date надо (обязательно) указывать ?


.....
stax
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39786215
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax(обязательно) указывать ?
Полагаю, что нет
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39786462
maximand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

И вам спасибо. К сожалению у меня 11G - это не работает. Но на 12ом всё окей.
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39786796
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще:

Код: 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.
with r as
 (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
  select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual
)
select rm.*
  from r match_recognize(
            order by res_date
            measures rate as rate
                   , first(res_date) as date_from
                   , last(res_date) as date_till
            pattern(same_rate+)
            define same_rate as rate = first(rate)
            ) rm
/

RATE  DATE_FROM DATE_TILL
----- --------- ---------
RATE1 01-JAN-15 02-JAN-15
RATE2 03-JAN-15 07-JAN-15
RATE1 08-JAN-15 09-JAN-15

SQL> 



SY.
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39787991
maximand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY,

Like
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788522
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYПроще
...но следует иметь ввиду, что без стартового элемента есть ньюансы matching:
Код: 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.
with r as
 (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
  select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual union all
  select to_date('2015-01-10', 'yyyy-mm-dd') res_date, '' rate  from dual union all
  select to_date('2015-01-11', 'yyyy-mm-dd') res_date, '' rate  from dual
)
select rm.*
  from r match_recognize(
            order by res_date
            measures rate as rate
                   , first(res_date) as date_from
                   , last(res_date) as date_till
            pattern(strt same_rate*)
--            pattern(same_rate*)
--            pattern(same_rate+)
            define same_rate as rate = first(rate)
            ) rm
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788542
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousSYПроще
...но следует иметь ввиду, что без стартового элемента есть ньюансы matching:
[/src]
Ньюанс в rate is null, или еще в чем то?

зы
define same_rate as rate = first(rate)
null=null
добавить nvl

.....
stax
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788564
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxНьюанс в rate is null, или еще в чем то?
В matching жеж :)
Если по очереди раскомментировать оба варианта без стартового элемента и со стартовым, то можно увидеть, что оно работает по-разному, и это следует иметь ввиду.
Был хороший гайд на эту тему - что-то про Deep Dive в этот самый pattern matching, уже не упомню
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788576
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousStaxНьюанс в rate is null, или еще в чем то?
В matching жеж :)


чет я с ручника никак не снимусь, не вижу (засліпило) разницы для
pattern(strt same_rate*) и pattern(same_rate*)

ps
define same_rate as rate = first(rate)
....
stax
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788583
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxчет я с ручника никак не снимусь, не вижу (засліпило) разницы для
pattern(strt same_rate*) и pattern(same_rate*)

Код: 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.
with r as
 (  select to_date('2015-01-10', 'yyyy-mm-dd') res_date, '' rate  from dual union all
  select to_date('2015-01-11', 'yyyy-mm-dd') res_date, '' rate  from dual
)
select rownum, rm.*
  from r match_recognize(
            order by res_date
            measures rate as rate
                   , first(res_date) as date_from
                   , last(res_date) as date_till
            pattern(strt same_rate*)
            define same_rate as rate = first(rate)
            ) rm
;
    ROWNUM RATE DATE_FROM   DATE_TILL
---------- ---- ----------- -----------
         1      10.01.2015  10.01.2015
         2      11.01.2015  11.01.2015
with r as
 (  select to_date('2015-01-10', 'yyyy-mm-dd') res_date, '' rate  from dual union all
  select to_date('2015-01-11', 'yyyy-mm-dd') res_date, '' rate  from dual
)
select rownum, rm.*
  from r match_recognize(
            order by res_date
            measures rate as rate
                   , first(res_date) as date_from
                   , last(res_date) as date_till
            pattern(same_rate*)
            define same_rate as rate = first(rate)
            ) rm
;
    ROWNUM RATE DATE_FROM   DATE_TILL
---------- ---- ----------- -----------
         1                  
         2  
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788587
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

спасибо, не туда смотрел ( https://apex.oracle.com)

поведение "примерно" понятно

....
stax
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788590
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxповедение "примерно" понятно
Для улучшения понимания :)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
with r as
 (  select to_date('2015-01-10', 'yyyy-mm-dd') res_date, '' rate  from dual union all
  select to_date('2015-01-11', 'yyyy-mm-dd') res_date, '' rate  from dual
)
select rownum, rm.*
  from r match_recognize(
            order by res_date
            measures rate as rate
                   , first(res_date) as date_from
                   , last(res_date) as date_till
                   , MATCH_NUMBER() AS match_no
                   , CLASSIFIER() AS classifier
            pattern(/*strt*/ same_rate*)
            define same_rate as rate = first(rate)
            ) rm
;
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788599
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousStaxповедение "примерно" понятно
Для улучшения понимания :)


я так примерно и понимал
токо раньше ето было связано со *,
а счас и с правилом с null значениями


.....
stax
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788610
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxтоко раньше ето было связано со *,
а счас и с правилом с null значениями

не човчем :)
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788617
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousне човчем :)
мож и так, я null пріплел к тому что вариант SY не отработает (надо nvl, decode, ...)

а так, со старт выбрано одна строка, без "0" строк

зы
у нас 11-ка, да и ...

....
stax
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788696
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous...но следует иметь ввиду, что без стартового элемента есть ньюансы matching:


Нюанс дейсвительно есть:

Код: 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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
SQL> with r as
  2   (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  3    select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  4    select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  5    select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  6    select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  7    select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  8    select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  9    select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
 10    select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual union all
 11    select to_date('2015-01-10', 'yyyy-mm-dd') res_date, '' rate  from dual union all
 12    select to_date('2015-01-11', 'yyyy-mm-dd') res_date, '' rate  from dual
 13  )
 14  select rm.*
 15    from r match_recognize(
 16              order by res_date
 17              measures rate as rate
 18                     , first(res_date) as date_from
 19                     , last(res_date) as date_till
 20              pattern(strt same_rate*)
 21  --            pattern(same_rate*)
 22  --            pattern(same_rate+)
 23              define same_rate as rate = first(rate)
 24              ) rm
 25  /

RATE  DATE_FROM DATE_TILL
----- --------- ---------
RATE1 01-JAN-15 02-JAN-15
RATE2 03-JAN-15 07-JAN-15
RATE1 08-JAN-15 09-JAN-15
      10-JAN-15 10-JAN-15
      11-JAN-15 11-JAN-15

SQL> with r as
  2   (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  3    select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  4    select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  5    select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  6    select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  7    select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  8    select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  9    select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
 10    select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual union all
 11    select to_date('2015-01-10', 'yyyy-mm-dd') res_date, '' rate  from dual union all
 12    select to_date('2015-01-11', 'yyyy-mm-dd') res_date, '' rate  from dual
 13  )
 14  select rm.*
 15    from r match_recognize(
 16              order by res_date
 17              measures rate as rate
 18                     , first(res_date) as date_from
 19                     , last(res_date) as date_till
 20  --          pattern(strt same_rate*)
 21              pattern(same_rate+)
 22              define same_rate as rate = first(rate) or (rate is null and first(rate) is null)
 23              ) rm
 24  /

RATE  DATE_FROM DATE_TILL
----- --------- ---------
RATE1 01-JAN-15 02-JAN-15
RATE2 03-JAN-15 07-JAN-15
RATE1 08-JAN-15 09-JAN-15
      10-JAN-15 11-JAN-15

SQL> 



SY.
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788700
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxмож и так, я null пріплел к тому что вариант SY не отработает (надо nvl, decode, ...)


Можно и без nvl/decode:

Код: 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.
with r as
 (select to_date('2015-01-01', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual union all
  select to_date('2015-01-02', 'yyyy-mm-dd') res_date, 'RATE1' rate   from dual  union all
  select to_date('2015-01-03', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union  all
  select to_date('2015-01-04', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-05', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-06', 'yyyy-mm-dd') res_date, 'RATE2' rate from dual union all
  select to_date('2015-01-07', 'yyyy-mm-dd') res_date, 'RATE2' rate  from dual union all
  select to_date('2015-01-08', 'yyyy-mm-dd') res_date, 'RATE1' rate from dual union all
  select to_date('2015-01-09', 'yyyy-mm-dd') res_date, 'RATE1' rate  from dual union all
  select to_date('2015-01-10', 'yyyy-mm-dd') res_date, '' rate  from dual union all
  select to_date('2015-01-11', 'yyyy-mm-dd') res_date, '' rate  from dual
)
select rm.*
  from r match_recognize(
            order by res_date
            measures rate as rate
                   , first(res_date) as date_from
                   , last(res_date) as date_till,
                   classifier() cls
            pattern(same_rate+|null_rate+)
            define same_rate as rate = first(rate),
                   null_rate as rate is null
            ) rm
/

RATE  DATE_FROM DATE_TILL CLS
----- --------- --------- ----------
RATE1 01-JAN-15 02-JAN-15 SAME_RATE
RATE2 03-JAN-15 07-JAN-15 SAME_RATE
RATE1 08-JAN-15 09-JAN-15 SAME_RATE
      10-JAN-15 11-JAN-15 NULL_RATE

SQL> 



SY.
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39788802
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYStaxмож и так, я null пріплел к тому что вариант SY не отработает (надо nvl, decode, ...)


Можно и без nvl/decode:

SY.
конечно можно
но ето уже другой запрос (другие правила)
.....
stax
...
Рейтинг: 0 / 0
Упростить SQL запрос
    #39789168
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxandrey_anonymousне човчем :)
мож и так, я null пріплел к тому что вариант SY не отработает
Я всего лишь хотел привлечь внимание к тому, что наличие/отсутствие always-true переменной в шаблоне влияет на логику pattern matching и это стоит иметь ввиду, упрощая pattern - exceptions и прочих warning не будет :)
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Упростить SQL запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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