У меня есть таблица с ценами на некоторые товары, зарегистрированных для некоторых дат, таких как:Выберите строки на основе значения приблизительная
2014-01-10 $120
2014-01-11 $121
2014-01-13 $119
2014-01-15 $118
Я хотел бы создать представление, которое будет заполнить недостающие цены, т.е. , процитировать существующие цены, где доступны, и вернуть последнюю известную цену, если цена на определенный день неизвестно, возможно, с разумным пределом в случае, если продукт исчезает с рынка:
2014-01-10 $120
2014-01-11 $121
2014-01-12 $121
2014-01-13 $119
2014-01-14 $119
2014-01-15 $118
2014-01-16 $118
2014-01-17 $118
2014-01-18 $118
..........
2014-02-01 NULL
Если бы это было просто вопрос вычисления цены один раз, I , вероятно, будет использовать функцию для этого, но мне нужно позже объединить цифры с данными из других таблиц с датой, являющейся общим полем .
2014-01-10 $120 data a
2014-01-11 $121 data b
2014-01-12 $121 data c
2014-01-13 $119 data d
2014-01-14 $119 data e
2014-01-15 $118 NULL
2014-01-16 $118 NULL
2014-01-17 $118 data f
2014-01-18 $118 data g
Обычно, на 12, 14, и после 15-го, поле цены будет возврата NULL, который я хочу, чтобы избежать, как это разрушило бы расчеты, которые использовать данные позже.
Если вы считаете, что вид строительство не является лучшим решением здесь, я был бы благодарен за указание мне в правильном направлении - как вы можете видеть, базы данных не поле моей глубочайшей экспертизы. ;)
Честно говоря, на данный момент у меня даже нет идеи, как подойти к проблеме. Мои знания SQL не намного глубже, чем базовый выбор, вставка и создание вида с помощью select. – Jasio
Я думаю, что было бы лучше сделать запрос, который возвращает null, когда значение не будет найдено, а затем заполнить значения в логике приложения. Так или иначе, вы собираетесь перебирать данные. Сортировка по дате и захват цены из каждой строки, когда она не равна нулю. Когда вы увидите нулевое значение, поменяйте его на последнее, которое вы видели. – JustinDanielson
У вас есть таблица всех дат? –