-1

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

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

对于特定的 DIVISION_NBR 和 PAYTO 组合,我需要报告 AMTPAY2 的总和何时达到 AMTPAY 中的数字(除了正数而不是负数)。因此,当 CARRIER 04 和 DIVISION 123456 的 AMTPAY2 达到 300 时,我需要显示该记录。细微差别还在于它可能不是完全匹配,例如(在上面的示例中),在 20120204 上,AMTPAY2 为 250。现在我想在查询中看到它,仅针对那一周(YMDPAID2) ,当它达到或超过负余额时。

任何帮助是极大的赞赏。谢谢!

4

1 回答 1

0

对 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

您应该能够弄清楚如何将这些用作子查询以找出差异所在。如果您需要我说明,请告诉我:

SELECT T1.YMDPAID FROM (subquery1) AS T1 INNER JOIN (subquery2) AS T2 WHERE T1.Total-T2.Total>0
于 2013-05-23T20:06:31.233 回答