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

请求计算两个IFRS准备金SQL查询结果的差值

计算两个SQL查询结果的差值

嘿,我来帮你搞定这个差值计算的事儿!我们的目标是算出第一个查询结果(A1)与第二个查询结果(A2)的差值,已知A1是123456,下面给你两种实用的方法:

方法一:用SQL直接计算差值(推荐)

不用分开执行两次查询再手动计算,直接写一个SQL就能得到最终差值,效率更高:

SELECT 
    (SELECT SUM(overwritten_ecl + overwritten_ecl_off) 
     FROM llpa.h_rt_ifrs_provision 
     WHERE calculation_id = 1624 
       AND stage = 1 
       AND id_rip_code = 'HOPISD' 
       AND actual_urg = '0.5') 
    - 
    (SELECT SUM(overwritten_ecl + overwritten_ecl_off) 
     FROM llpa.h_rt_ifrs_provision 
     WHERE calculation_id = 1652 
       AND stage = 1 
       AND id_rip_code = 'HOPISD' 
       AND actual_urg = '0.5') AS difference;

执行这条语句后,返回的difference字段就是你要的结果。

小优化:处理NULL情况

如果某个查询没有匹配到任何记录,SUM()会返回NULL,导致最终差值也变成NULL。可以用COALESCE()函数把NULL转为0,避免这个问题:

SELECT 
    COALESCE((SELECT SUM(overwritten_ecl + overwritten_ecl_off) 
              FROM llpa.h_rt_ifrs_provision 
              WHERE calculation_id = 1624 
                AND stage = 1 
                AND id_rip_code = 'HOPISD' 
                AND actual_urg = '0.5'), 0) 
    - 
    COALESCE((SELECT SUM(overwritten_ecl + overwritten_ecl_off) 
              FROM llpa.h_rt_ifrs_provision 
              WHERE calculation_id = 1652 
                AND stage = 1 
                AND id_rip_code = 'HOPISD' 
                AND actual_urg = '0.5'), 0) AS difference;

方法二:手动计算

如果你更习惯分开执行查询:

  1. 先执行第二个查询,得到A2的数值
  2. 用已知的A1(123456)减去A2,即 差值 = 123456 - A2
    比如假设A2返回的是78900,那差值就是123456 - 78900 = 44556

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:17:43