sql – 如果select中的语句(ORACLE)

前端之家收集整理的这篇文章主要介绍了sql – 如果select中的语句(ORACLE)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,我只是选择并且工作得很好:
select 'CARAT Issue Open' issue_comment,i.issue_id,i.issue_status,i.issue_title,i.ISSUE_summary,i.issue_description,i.severity,gcrs.Area_name,gcrs.sector_name,substr(gcrs.stream_name,1,case when instr(gcrs.stream_name,' (')=0 then 100 else instr(gcrs.stream_name,' (')-1 end) ISSUE_DIVISION,case when gcrs.STREAM_NAME like 'NON-GT%' THEN 'NON-GT' ELSE gcrs.STREAM_NAME END as ISSUE_DIVISION_2


from table(f_carat_issues_as_of('31/MAR/2013')) i
inner join v_gcrs_with_stream gcrs on i.segment_id = gcrs.segment_id

where UPPER(ISSUE_STATUS) like '%OPEN%'

现在我想调用两列:
ISSUE_DIVISION和ISSUE_DIVISION_2

如果它们在新列中相等则应为值1,如果不相等则应为0,

我该怎么做 ?

我的完整代码

select 'CARAT Issue Open' issue_comment,case when gcrs.STREAM_NAME like 'NON-GT%' THEN 'NON-GT' ELSE gcrs.STREAM_NAME END as ISSUE_DIVISION_2


from table(f_carat_issues_as_of('31/MAR/2013')) i
inner join v_gcrs_with_stream gcrs on i.segment_id = gcrs.segment_id

where UPPER(ISSUE_STATUS) like '%OPEN%' and 

CASE WHEN ISSUE_DIVISION = ISSUE_DIVISION_2 THEN 
     CASE WHEN  ISSUE_DIVISION is null then "Null Value found"
     Else 1 End
ELSE 0 END As Issue_Division_Result

但我在网上得到错误
ELSE 0 END作为Issue_Division_Result

ORA-00920:无效的关系运算符:(

解决方法

SELECT (CASE WHEN ISSUE_DIVISION = ISSUE_DIVISION_2 THEN 1 ELSE 0 END) AS ISSUES
    --  <add any columns to outer select from inner query> 
  FROM
 (  -- your query here --
   select 'CARAT Issue Open' issue_comment,....,...,' (')=0 then 100 else  instr(gcrs.stream_name,case when gcrs.STREAM_NAME like 'NON-GT%' THEN 'NON-GT' ELSE gcrs.STREAM_NAME END as ISSUE_DIVISION_2
     from ....
    where UPPER(ISSUE_STATUS) like '%OPEN%'
 )
 WHERE... -- optional --
原文链接:https://www.f2er.com/mssql/84376.html

猜你在找的MsSQL相关文章