Столкнувшись с проблемой в случае, когда оператор в одной строке выборки для оракула SQL - PullRequest
0 голосов
/ 10 октября 2018

У меня есть одна строка данных следующим образом:

dyn1 dyn2 dyn3 chg
   1    0    1 768

Теперь я хочу написать условие случая, например

Case when dyn1 = 1 then 7 When dyn2=1 then 7 When dyn3=1 then 7 End

Теперь для этих вышеупомянутых записей это не проверказначение dyn3 в том виде, в котором оно получает значение dyn1 в виде true.

Как обрабатывать этот код?

1 Ответ

0 голосов
/ 11 октября 2018

Полагаю, вам нужно вернуть эти значения в операторе выбора, возможно, это может быть полезно для вас.

SELECT  CASE WHEN dyn1 = 1 THEN 7 END,
        CASE WHEN dyn2 = 1 THEN 7 END,
        CASE WHEN dyn3 = 1 THEN 7 END
FROM (SELECT 1 AS dyn1, 1 AS dyn2, 1 AS dyn3 FROM dual);

Или, может быть, вы хотите, чтобы оно было в единственном столбце

SELECT  CASE WHEN dyn1 = 1 THEN 7 END ||
        CASE WHEN dyn2 = 1 THEN 7 END ||
        CASE WHEN dyn3 = 1 THEN 7 END
from (select 1 as dyn1, 1 as dyn2, 1 as dyn3 from dual);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...