Я пытаюсь отфильтровать данные на основе результатов, полученных из предыдущего условия CASE в DB2
:
Ниже приведен исходный запрос для фильтрации данных:
SELECT EM.NAME,EM.ID,EM.DIV
CASE DEPT
WHEN '1' THEN 'FIN'
WHEN '2' THEN 'MKT'
WHEN '3' THEN 'IT'
WHEN '4' THEN 'HR' END AS DEPT_DESC
FROM EMPLOYEE_RCD EM;
ПримерДанные:
NAME ID DIV DEPT_DESC
MICHAEL 3334 3 IT
SAMUEL 100922 1 FIN
ORINDA 7363 1 FIN
SARA 8383 2 MKT
RACHAEL 8383 4 HR
MARTIN 33312
SUZY 993 NA NA
MIKE 576 NULL NULL
То, что я пытался отфильтровать результаты:
SELECT EM.NAME,EM.ID,EM.DIV
CASE DEPT
WHEN '1' THEN 'FIN'
WHEN '2' THEN 'MKT'
WHEN '3' THEN 'IT'
WHEN '4' THEN 'HR' END AS DEPT_DESC
CASE DEPT_DESC
WHEN DEPT_DESC == '' THEN 'No Dept'
WHEN DEPT_DESC == NA THEN 'No Dept'
WHEN DEPT_DESC == NULL THEN 'No Dept'
FROM EMPLOYEE_RCD EM;
, но не получал результаты вместо того, чтобы получать ошибки:
[Code: -104, SQL State: 42601] An unexpected token "== ''" was found following "WHEN DEPT_DESC". Expected tokens may include: "<space>".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.22.29
Любая помощь в,как отфильтровать данные и получить следующий результат:
Ожидаемый 0 / P:
NAME ID DIV DEPT_DESC
MARTIN 33312
SUZY 993 NA NA
MIKE 576 NULL NULL