SQL Server 2005.我需要帮助构建AR老化报告。脚本有什么问题?

时间:2014-08-08 19:38:58

标签: sql-server-2005 case-statement

SELECT 
   invno,invdte,
   CASE     
        WHEN (invdte >= (getdate() - 30) and itotal !=0 THEN 'itotal') AS '0-30'
        WHEN (invdte BETWEEN getdate(), - 31)  AND (getdate(), - 60) AND itotal !=0 THEN 'itotal') AS '31-60'
        WHEN (invdte < getdate(),- 61) and itotal !=0 THEN 'itotal') AS '61>'
            Else '0'
   END AS [Aging AR]
   SUM(itotal) AS 'Outstanding Total'
FROM   
   [01].[ARINVOI]
GROUP BY 
   invno, invdte
ORDER BY 
   Outstanding Total DESC

1 个答案:

答案 0 :(得分:0)

SELECT 
   invno, invdte,
   SUM(CASE WHEN invdte >= (getdate() - 30) and itotal !=0 THEN itotal END) AS [0-30]
   SUM(CASE WHEN invdte BETWEEN (getdate() - 31)  AND (getdate() - 60) AND itotal !=0 THEN itotal END) AS [31-60]
   SUM(itotal) AS 'Outstanding Total'
FROM   
   [01].[ARINVOI]
GROUP BY 
   invno, invdte
ORDER BY 
   Outstanding Total DESC