Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL求和,直到一列等于或大于另一列_Sql_Sql Server - Fatal编程技术网

SQL求和,直到一列等于或大于另一列

SQL求和,直到一列等于或大于另一列,sql,sql-server,Sql,Sql Server,我在名为#ClaimsTemp3的临时表中有五个字段: AMTPAY、YMDPAID、CARRIER、PAYTO、DIVISION_NBR、AMTPAY2和YMDPAID 2 AMTPAY是一个负数。对于AMTPAY、YMDPAID、CARRIER、PAYTO和DIVISION_NBR的每个组合,有几行AMTPAY2和YMDPAID2: AMTPAY YMDPAID CARRIER PAYTO DIVISION AMTPAY2 YMDPAID2 -300 20120101

我在名为#ClaimsTemp3的临时表中有五个字段: AMTPAY、YMDPAID、CARRIER、PAYTO、DIVISION_NBR、AMTPAY2和YMDPAID 2

AMTPAY是一个负数。对于AMTPAY、YMDPAID、CARRIER、PAYTO和DIVISION_NBR的每个组合,有几行AMTPAY2和YMDPAID2:

AMTPAY  YMDPAID   CARRIER PAYTO   DIVISION  AMTPAY2 YMDPAID2   
-300    20120101    04    O900    123456    50      20120201

-300    20120101    04    O900    123456    25      20120202

-300    20120101    04    O900    123456    10      20120203
我需要报告特定部门NBR和PAYTO组合的AMTPAY2之和何时达到AMTPAY中的数字(除了正值而不是负值)。所以当04号航母和123456分部的AMTPAY2达到300时,我需要显示该记录。这其中的细微差别还在于,它可能不完全匹配,例如(在上面的示例中),在20120204年,AMTPAY2为250。现在我想在查询中看到它,就在它达到或超过负余额的那一周(YMDPAID2)


非常感谢您的帮助。谢谢

在AMTPAY和AMTPAY2字段中尝试类似的操作:

SELECT SUM(TBLB.AMTPAY) AS Total,TBLB.YMDPAID FROM #ClaimsTemp3 AS TBLA 
INNER JOIN #ClaimsTemp3 AS TBLB ON (TBLA.YMDPAID=TBLB.YMDPAID)
WHERE TBLA.YMDPAID<=TBLB.YMDPAID

对不起,我还没有完全听懂。您能更具体一点吗?因此,获取顶部查询并将其插入子查询1,然后将其修改为AMTPAY2,并将其插入子查询2。这将为您提供符合您条件的行的YMDPAID。
SELECT T1.YMDPAID FROM (subquery1) AS T1 INNER JOIN (subquery2) AS T2 WHERE T1.Total-T2.Total>0