私は以下に述べる問題があり、2百万行あるのでSQLなしではできません。日付範囲の隙間を埋めてください -
私はテーブルTable1
を持っています。ここには指定された期間のプロモーション価格のitem/locがあります。
+-----------------------------------------------------------+
| Item | Location | Startdate | EndDate | Promoted Price |
+-------+----------+-----------+-----------+----------------+
| Item1 | Loc1 | 6/23/2015 | 6/24/2015 | 22 |
| Item1 | Loc1 | 7/10/2015 | 7/17/2015 | 30 |
| Item1 | Loc1 | 7/24/2015 | 7/31/2015 | 30 |
| Item2 | Loc2 | 6/21/2015 | 8/7/2015 | 25 |
| Item2 | Loc2 | 8/28/2015 | 9/4/2015 | 27 |
| Item2 | Loc2 | 9/11/2015 | 9/18/2015 | 28 |
+-------+----------+-----------+-----------+----------------+
表2:私は表1に
表1を与えられたギャップを埋めるために使用しなければならない2017 - また、私は、私は2015年から各項目/ LOCのためのベース価格を持っている別のテーブルTable 2
を持っています
+--------------------------------------------------------+
| Item | Location | Startdate | EndDate | Full_Price |
+-------+----------+-----------+------------+------------+
| Item1 | Loc1 | 1/1/2015 | 12/31/2017 | 32 |
| Item2 | Loc2 | 1/1/2015 | 12/31/2017 | 24 |
| Item3 | Loc3 | 1/1/2015 | 12/31/2017 | 54 |
| Item4 | Loc4 | 1/1/2015 | 12/31/2017 | 67 |
| Item5 | Loc5 | 1/1/2015 | 12/31/2017 | 39 |
| Item6 | Loc6 | 1/1/2015 | 12/31/2017 | 48 |
| Item7 | Loc7 | 1/1/2015 | 12/31/2017 | 63 |
| Item8 | Loc8 | 1/1/2015 | 12/31/2017 | 52 |
| Item9 | Loc9 | 1/1/2015 | 12/31/2017 | 51 |
+-------+----------+-----------+------------+------------+
結果は次のようにする必要があります:
| Item | Location | Startdate | EndDate | Promoted Price |
+-------+----------+-----------+-----------+----------------+
| Item1 | Loc1 | 6/23/2015 | 6/24/2015 | 22 |
| Item1 | Loc1 | 6/25/2015 | 7/9/2015 | 32 |
| Item1 | Loc1 | 7/10/2015 | 7/17/2015 | 30 |
| Item1 | Loc1 | 7/18/2015 | 7/23/2015 | 32 |
| Item1 | Loc1 | 7/24/2015 | 7/31/2015 | 30 |
こんにちはジェシー、私は最初のテーブル(テーブル1)の行1と2を見ることができます。 2015年6月25日から2015年7月9日まで、新しいレコードを作成する必要があります。このレコードでは、ギャップのデフォルト値であるテーブル2から値を取る必要があります。 – user6777467