首页 > 解决方案 > 如何将 2 个现有列作为新字段进行比较

问题描述

我正在尝试比较 PLSQL 查询中的 2 个现有列,并将结果捕获到一个名为“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

标签: sqloracle

解决方案


SQL 中没有'=='运算符,并且您可能没有布尔表达式作为选择语句 (SQL) 中的 Oracle 中的列。

你可以使用CASE WHEN表达式

CASE WHEN LAST_TOUCH = USER_ID THEN 1 ELSE 0 END as seen

推荐阅读