cwui 2024-12-26 09:44 采纳率: 43.3%
浏览 30
已结题

SAP HANA SQL Script , 判断包含某个值

img

如左图,如果只按照COMP这一列 ( 不考虑YM ) 查找FLAG是否存在N, 有N则FLAG = N,如右图。
有三种情况,只有Y ,只有N, Y和N都有
SAP HANA SQL Script 怎么写 ?

  • 写回答

16条回答 默认 最新

  • 就是这样,喵~ 2024-12-26 09:45
    关注

    题主您好,本回答参考AIGC,并由本人整理提供,如问题解决,望采纳;如仍有疑问,请评论回复。

    在SAP HANA SQL Script中,你可以使用聚合函数和条件逻辑来实现这个需求。具体来说,可以使用CASE语句结合GROUP BYMAX函数来判断每个COMP组中是否存在FLAG = 'N'的情况。

    以下是一个示例SQL脚本,它实现了你所描述的功能:

    SELECT 
        COMP,
        CASE 
            WHEN MAX(CASE WHEN FLAG = 'N' THEN 1 ELSE 0 END) = 1 THEN 'N'
            ELSE 'Y'
        END AS FLAG
    FROM your_table_name
    GROUP BY COMP;
    

    在这个脚本中:

    • your_table_name是你的表名,请替换为实际的表名。
    • CASE WHEN FLAG = 'N' THEN 1 ELSE 0 END用于将FLAG列中的值为N的行标记为1,其他行标记为0。
    • MAX(CASE WHEN FLAG = 'N' THEN 1 ELSE 0 END)用于检查每个COMP组中是否存在至少一个FLAG = 'N'的行。如果存在,则返回1,否则返回0。
    • CASE语句根据MAX的结果决定最终的FLAG值。

    这样,你就可以得到每个COMP组中是否存在FLAG = 'N'的判断结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(15条)

报告相同问题?

问题事件

  • 系统已结题 1月3日
  • 已采纳回答 12月26日
  • 修改了问题 12月26日
  • 创建了问题 12月26日