You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAP HANA SQL需求:通过查询为T1生成indicator计算列(无增改)

SAP HANA SQL解决方案:生成indicator列判断条件匹配

我来给你提供一个完全符合要求的SAP HANA SQL查询,全程只用SELECT语句实现,不需要修改原表的任何数据:

SELECT 
    t1.key,
    t1.value,
    t1.date,
    CASE 
        WHEN EXISTS (
            SELECT 1 
            FROM T2 
            WHERE T2.value = T1.value 
              AND T2.date < T1.date
        ) THEN '1'
        ELSE '0'
    END AS indicator
FROM T1;

逻辑解释

这个查询的核心是利用EXISTS子查询来逐条验证T1的记录是否满足你设定的两个条件:

  • T2中存在与当前T1记录相同的value值
  • 对应的T2记录的date早于当前T1记录的date

CASE表达式会根据子查询的结果返回'1'或'0',精准生成你需要的indicator列。

预期执行结果

keyvaluedateindicator
1A01-02-20180
2B01-03-20171
3C01-02-20170
4D01-02-20180

注意事项

如果你的date列存储的是字符串类型(而非SAP HANA原生的DATE类型),需要用TO_DATE函数统一转换格式后再做比较,避免日期逻辑错误,示例如下:

SELECT 
    t1.key,
    t1.value,
    t1.date,
    CASE 
        WHEN EXISTS (
            SELECT 1 
            FROM T2 
            WHERE T2.value = T1.value 
              AND TO_DATE(T2.date, 'DD-MM-YYYY') < TO_DATE(T1.date, 'DD-MM-YYYY')
        ) THEN '1'
        ELSE '0'
    END AS indicator
FROM T1;

内容的提问来源于stack exchange,提问作者hakeydotcom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:21:20