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

如左图,如果只按照COMP这一列 ( 不考虑YM ) 查找FLAG是否存在N, 有N则FLAG = N,如右图。
有三种情况,只有Y ,只有N, Y和N都有
SAP HANA SQL Script 怎么写 ?
题主您好,本回答参考AIGC,并由本人整理提供,如问题解决,望采纳;如仍有疑问,请评论回复。
在SAP HANA SQL Script中,你可以使用聚合函数和条件逻辑来实现这个需求。具体来说,可以使用CASE语句结合GROUP BY和MAX函数来判断每个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'的判断结果。