if条件

WITH A AS (  

    SELECT   

        T.SPECIFICATIONS AS SPEC,  

        T.YM_ID AS YMej,  

        SUM(T.STD_INV_NM) AS STD_INV_NM  

    FROM   

        ADS_EBS_SCM_PRODUCE_QTY T  

    WHERE   

        T.YM_ID = SUBSTR('${P_S_DATE}',1,7) 

        AND T.MATERIAL_CLASS_02_NAME = 'IF(${ty}='1','254',${ty})'  

    GROUP BY   

        T.SPECIFICATIONS, T.YM_ID  

)  

SELECT    

    A.SPEC,  

    A.STD_INV_NM

FROM   

    A

image.png大佬们这个IF条件这里如果变量值是1的话就换成254,否则就是变量本身,这个if语句怎么改写来着,好久没用给忘记了

FineReport 嘘.. 发布于 2024-8-27 09:18
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
Z4u3z1Lv6专家互助
发布于2024-8-27 09:20

WITH A AS (  

    SELECT   

        T.SPECIFICATIONS AS SPEC,  

        T.YM_ID AS YMej,  

        SUM(T.STD_INV_NM) AS STD_INV_NM  

    FROM   

        ADS_EBS_SCM_PRODUCE_QTY T  

    WHERE   

        T.YM_ID = SUBSTR('${P_S_DATE}',1,7) 

        AND T.MATERIAL_CLASS_02_NAME = ${if(ty=1,"254",ty)}

    GROUP BY   

        T.SPECIFICATIONS, T.YM_ID  

)  

SELECT    

    A.SPEC,  

    A.STD_INV_NM

FROM   

    A

  • 嘘.. 嘘..(提问者) 谢谢,还需要加个单引号才行
    2024-08-27 09:24 
  • Z4u3z1 Z4u3z1 回复 嘘..(提问者) T.MATERIAL_CLASS_02_NAME是字符串?
    2024-08-27 09:25 
最佳回答
1
shirokoLv6资深互助
发布于2024-8-27 09:23

AND T.MATERIAL_CLASS_02_NAME = '${IF(ty="1","254",ty)}' 

  • 2关注人数
  • 126浏览人数
  • 最后回答于:2024-8-27 09:23
    请选择关闭问题的原因
    确定 取消
    返回顶部