使用Teradata中的存储过程来构建汇总历史记录表

时间:2017-11-28 21:30:54

标签: sql stored-procedures teradata

我正在使用连接到企业DW的Terdata SQL Assistant。我已经编写了下面的查询,以显示特定时间点的未完成项目清单。引用的表在加载日期对其状态进行更改时加载并存储新记录(并且不删除历史记录)。对于指定的日期,我的查询输出为1行。我可以创建某种存储过程或递归查询来构建这些摘要行的历史记录(每天有1个新行)吗?我过去没有使用过这些功能;如果适用的话,链接到相关的以前回答的问题或关于我如何在研究其他可能的解决方案方面走上正轨的建议是完全正确的;只是想在我的知识中弥合这个差距。

SELECT
'2017-10-02' as Dt
,COUNT(DISTINCT A.RECORD_NBR) as Pending_Records 
,SUM(A.PAY_AMT) AS Total_Pending_Payments
FROM DB.RECORD_HISTORY A 

INNER JOIN
(SELECT MAX(LOAD_DT) AS LOAD_DT
,RECORD_NBR
FROM DB.RECORD_HISTORY
WHERE  LOAD_DT <= '2017-10-02' 
GROUP BY RECORD_NBR
) B 

ON A.RECORD_NBR = B.RECORD_NBR
AND A.LOAD_DT = B.LOAD_DT
WHERE 
A.RECORD_ORDER =1 AND Final_DT Is  Null   
GROUP BY Dt
ORDER BY 1 desc

0 个答案:

没有答案