обновление с декодированием не работает, почему нулевой ввод данных? - PullRequest
0 голосов
/ 27 мая 2019
update x1 a set (a.cd)= 
 (select distinct(decode(b.cd1,null,a.cd,b.cd1)) 
     from x2 b where b.nm(+)=a.nm 
                and d.nm2(+)=a.nm2

если b.cd1 данные null, a.cd input a.cd, но я использую этот sql, null данные вводятся в a.cd, но когда я работаю только с подзапросом, он работает хорошо, поэтому я не не знаю, почему эта проблема возникает

Вы можете мне помочь?

1 Ответ

0 голосов
/ 27 мая 2019

Как насчет формулировки, как это?

update x1 a
    set a.cd = (select b.cd1
                from x2 b
                where b.nm = a.nm and b.nm2 = a.nm2
--------------------------------------^ assume you intend b here
               )
    where (select b.cd1
           from x2 b
           where b.nm = a.nm and b.nm2 = a.nm2
          ) is not null;

То есть обновлять только те строки, значение которых не равно NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...