开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

MaxCompute SQL,如何将查询结果作为变量使用?

@bzfz := SELECT max(FACTOR_VAL) as val from ads_fin_ism_basic_factor_mf where ACC_PERIOD=${riqi} and COMP_ID=${compid} and INDEX_CODE='LR' and FACTOR_CODE='BZFZ' limit 1;

有多个类似上面这样的查询结果,希望将查询结果设置为变量,然后在后面的逻辑里面对变量进行判断和运算得到运算结果。

最后将结果保存到物理表中。

请问有简单的方式实现上面的逻辑吗?

我像下面这样尝试了,也行不通,最后一行会提示无法解析变量@bzfz

-- 标准分值
@bzfz := SELECT FACTOR_VAL from ads_fin_ism_basic_factor_mf where ACC_PERIOD=${riqi} and COMP_ID=${compid} and INDEX_CODE='LR' and FACTOR_CODE='BZFZ' limit 1;
-- 利润目标值
@lrmbz := SELECT FACTOR_VAL from ads_fin_ism_basic_factor_mf where ACC_PERIOD=${riqi} and COMP_ID=${compid} and INDEX_CODE='LR' and FACTOR_CODE='LRMBZ' limit 1;
@c := select (select a.FACTOR_VAL from @bzfz as a) + (select b.FACTOR_VAL from @lrmbz as b) ;

展开
收起
kahaly44zi2ji 2024-10-05 09:43:09 57 0
0 条回答
写回答
取消 提交回答

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载