首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL ORACLE - CASE语句

SQL ORACLE - CASE语句
EN

Stack Overflow用户
提问于 2018-06-07 04:53:16
回答 1查看 55关注 0票数 -2

我不知道当我比较= 'N2‘我可以使用哪种类型的比较运算符时,代码会报错。有人能帮帮我吗?甲骨文

代码语言:javascript
复制
select
CASE T1.process_code
  when (select T3.OPTIONAL_CODE as Tax_Code
        from GEN_LED_VOUCHER_ROW_UNION_QRY T3
        where T3.voucher_no = ('2018001625')
    and ACCOUNTING_YEAR = 2018 
    and ACCOUNTING_PERIOD = '5'
    and ACCOUNT like '3%') = 'N2' 
  THEN (select T4.OPTIONAL_CODE as Tax_Code
        from GEN_LED_VOUCHER_ROW_UNION_QRY T4
        where T4.voucher_no = ('2018001625')
    and ACCOUNTING_YEAR = 2018 
    and ACCOUNTING_PERIOD = '5' 
    and ACCOUNT like '3%')
  ELSE 'HEllo'
  END process_code
from  lora1app.GEN_LED_VOUCHER_ROW_UNION_QRY T1,
EN

回答 1

Stack Overflow用户

发布于 2018-06-07 06:05:50

它之所以抱怨,是因为case可能应该是:

代码语言:javascript
复制
(case when (select T3.OPTIONAL_CODE as Tax_Code
            from GEN_LED_VOUCHER_ROW_UNION_QRY T3
            where T3.voucher_no = ('2018001625') and
                  ACCOUNTING_YEAR = 2018 
                  ACCOUNTING_PERIOD = '5'
                  ACCOUNT like '3%'
           ) = 'N2' 
      then . . .

或者:

代码语言:javascript
复制
(case when T1.process_code =
           (select T3.OPTIONAL_CODE as Tax_Code
            from GEN_LED_VOUCHER_ROW_UNION_QRY T3
            where T3.voucher_no = ('2018001625') and
                  ACCOUNTING_YEAR = 2018 
                  ACCOUNTING_PERIOD = '5'
                  ACCOUNT like '3%'
           ) 
      then 'N2' 

但是搜索到的案例和简单的案例形式不能混合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50729428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档