Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 как отследить изменение значений в столбце?  [new]
ag_smith
Member

Откуда:
Сообщений: 4
допустим, есть столбец с цифрами COL1:
COL1 COL2
1 ---
2 true
2 false
1 true
2 true
2 false

как можно отследить изменение значений в этом столбце, чтобы получить значения как в столбце COL2?
Или определить, равны ли значения столбца в текущей и предыдущей строке?

Ниже просто код для примера

SELECT LEVEL COL1 /*, case when level != level - 1 then 'TRUE' else 'FALSE' end COL2 */
FROM (SELECT * 
      from dual 
      UNION ALL 
      SELECT * 
      FROM dual) 
CONNECT BY LEVEL < 3;
10 июн 19, 22:19    [21906223]     Ответить | Цитировать Сообщить модератору
 Re: как отследить изменение значений в столбце?  [new]
-2-
Member

Откуда:
Сообщений: 14850
ag_smith
как можно
по приведенным данным нельзя.
10 июн 19, 22:55    [21906249]     Ответить | Цитировать Сообщить модератору
 Re: как отследить изменение значений в столбце?  [new]
Tesamid
Member

Откуда:
Сообщений: 8
Добрый вечер!
Если правильно понял условие, то нужно проверять поменялось ли значение в следующей строке, можно так:
select 
    id, 
    case when id != (lag(id) over (order by '1') ) then 'True' else 'False' end,
from (
    select 1 id from dual
    union all
    select 2 from dual
    union all
    select 2 from dual
    union all
    select 1 from dual
    union all
    select 2 from dual
    union all
    select 2 from dual
) t
10 июн 19, 23:48    [21906263]     Ответить | Цитировать Сообщить модератору
 Re: как отследить изменение значений в столбце?  [new]
ag_smith
Member

Откуда:
Сообщений: 4
Tesamid, да, то что нужно. Спасибо!!!
11 июн 19, 00:47    [21906273]     Ответить | Цитировать Сообщить модератору
 Re: как отследить изменение значений в столбце?  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29197
Tesamid
order by '1'
ag_smith
Tesamid, да, то что нужно. Спасибо!!!
Чудак "помог" чудаку.
11 июн 19, 07:12    [21906316]     Ответить | Цитировать Сообщить модератору
 Re: как отследить изменение значений в столбце?  [new]
Tesamid
Member

Откуда:
Сообщений: 8
Elic
Tesamid
order by '1'
ag_smith
Tesamid, да, то что нужно. Спасибо!!!
Чудак "помог" чудаку.

Elic, спасибо за критику :) Автор темы не указал в примере как именно была получена последовательность цифр,
поэтому в ответе определение предыдущего элемента - по воле случая. Разумеется в реальном коде
 order by '1' 
не допустимо использовать.
11 июн 19, 13:09    [21906637]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить