Terdata SQL AssistantをエンタープライズDWに接続しています。私は以下の質問を書いて、特定の時点における未処理品の在庫を表示しています。参照されたテーブルは、ロード日時によって状態が変更されたとき(および履歴レコードは削除されないとき)に新しいレコードをロードして格納します。私のクエリの出力は、指定された日付の1行です。ストアド・プロシージャまたは再帰的な問合せを作成して、これらのサマリー行の履歴を作成することはできますか(1日に1つの新しい行があります)。私は過去にこのような機能を使用していませんでした。該当する場合は、以前に回答した質問へのリンクや、他の可能な解決方法を調べるためにどのように正しい軌道に乗ることができるかについての提案は、まったく問題ありません。私の知識でこのギャップを埋めようとしているだけです。ここでTeradataのストアドプロシージャを使用して要約履歴テーブルを作成する
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
ありがとうございます。あなたの最終的な提案は、複雑さ(つまりストアドプロシージャ)を必要とせずに必要な出力を得ることができます – YoSoySeanFoy
No prob bob :)。 – ravioli