私は天秤とカレンダーという2つのテーブルを持っています。SQLでの結合中に行の上限を制限する方法はありますか?
バランス:
- 私は最大値まですべてのアカウントのために不足している日を記入する必要があります:私は、次の操作を行う必要があり
Account Date Balance 1111 01/01/2014 100 1111 02/01/2014 156 1111 03/01/2014 300 1111 04/01/2014 300 1111 07/01/2014 468 1112 02/01/2014 300 1112 03/01/2014 300 1112 06/01/2014 300 1112 07/01/2014 350 1112 08/01/2014 400 1112 09/01/2014 450 1113 01/01/2014 30 1113 02/01/2014 40 1113 03/01/2014 45 1113 06/01/2014 45 1113 07/01/2014 60 1113 08/01/2014 50 1113 09/01/2014 20 1113 10/01/2014 10
カレンダー
date business_day_ind 01/01/2014 N 02/01/2014 Y 03/01/2014 Y 04/01/2014 N 05/01/2014 N 06/01/2014 Y 07/01/2014 Y 08/01/2014 Y 09/01/2014 Y 10/01/2014 Y
それが価値を持つ日。アカウント1111と言えば、2014年7月1日までの値しかないため、日付はその日付までに入力する必要があります。しかし、私がカレンダーテーブル(普通の左結合)に参加するとき、私は最大日をアカウントで利用可能な日に制限できません。私は1111,09/01/2014の場合、2014年7月1日(アカウントの最大残高利用可能日までの日数を制限するための効率的な方法(好ましくは複数のステップを含まない)を必要とする
1111 01/01/2014 100 N 1111 02/01/2014 156 Y 1111 03/01/2014 300 Y 1111 04/01/2014 300 Y 1111 05/01/2014 N 1111 06/01/2014 N 1111 07/01/2014 468 Y 1111 08/01/2014 Y 1111 09/01/2014 Y 1111 10/01/2014 Y 1112 01/01/2014 N 1112 02/01/2014 300 Y 1112 03/01/2014 300 Y 1112 04/01/2014 N 1112 05/01/2014 N 1112 06/01/2014 300 Y 1112 07/01/2014 350 Y 1112 08/01/2014 400 Y 1112 09/01/2014 450 Y 1112 10/01/2014 Y
ケース1112)
所望の出力に:行方不明の日を充填した後
1111 01/01/2014 100 N 1111 02/01/2014 156 Y 1111 03/01/2014 300 Y 1111 04/01/2014 300 Y 1111 05/01/2014 N 1111 06/01/2014 N 1111 07/01/2014 468 Y 1112 01/01/2014 N 1112 02/01/2014 300 Y 1112 03/01/2014 300 Y 1112 04/01/2014 N 1112 05/01/2014 N 1112 06/01/2014 300 Y 1112 07/01/2014 350 Y 1112 08/01/2014 400 Y 1112 09/01/2014 450 Y
、私は行方不明の日、前営業日のバランスを転嫁する予定です。私はすべての日付の前営業日を取得し、元の残高テーブルにacctおよび前営業日をキーとして参加させることで、不足行を更新する予定です。
ありがとうございました。
私はGreenplumデータベースです。
希望の出力を追加できますか?それはちょっと混乱しています! –
私はそれを追加しました。 – CuriP