Как сравнить 2 существующих столбца КАК новое поле - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь сравнить 2 существующих столбца в запросе PLSQL и записать результат в новое поле с именем «SEEN».

Это выдает ошибку, я уверен, что здесь что-то упущено.

Обсуждаемая строка:

LAST_TOUCH == USER_ID AS SEEN,

Вот запрос:

SELECT distinct CASE_ID, CASE_ID as ID, 
            NAME AS PRIORITY,
            FNN,
            NRF_CONTRAVENTION_ID as CURRENTNRF,
            CUSTOMER_NAME, 
            -- user_id AS OWNER, -- you should be using ownerid 
           from esd_database -- Apoorva
            TO_CHAR(TO_DATE(LASTMODIFIEDDATE, 
'YYYY-MM-DD HH24:MI:SS'), 'DD-MON-YYYY HH24:MI:SS') as UPDATEDATE,
            LAST_TOUCH,
            ROUND(CURRENT_DATE - CREATEDDATE) AS WDO,
            STATUS,
            REQUIRED_DATE AS FIELD_APT_DATE, 
         -- Apoorva/Deepa, please check my join here in the V_NRF_TABLE_TE
            ESA,
            FSA,
            REGION,
            LAST_TOUCH == USER_ID AS SEEN,
            case when followupNOTES is not null then SUBSTR(followupNOTES, 0, 40)
            || ' ...'
            end notes
            from V_NRF_TABLE_TE
            where
            :userid = user_id
            -- previously=> user_id = :userid
            and status != 'Complete'
            and function = 'TE'
            ORDER BY WDO DESC

1 Ответ

2 голосов
/ 01 мая 2019

В SQL нет оператора '==', и вы не можете иметь логическое выражение в виде столбца в Oracle в операторе выбора (SQL).

Вы можете использовать выражение CASE WHEN

CASE WHEN LAST_TOUCH = USER_ID THEN 1 ELSE 0 END as seen
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...