Hello Vadim,
Wednesday, October 17, 2007, 10:59:14 AM, you wrote:
VM> Здраствуйте.
VM> Такая проблемка
VM> Есть таблица с такими данными:
VM> Дата (DateTime)
VM> Показатель (Integer)
VM> Значение показателя (Float)
VM> В этой таблице не для всех дат календаря есть записи
VM> Нужно получить в SQL запросе все даты запрашиваемого периода если (в
таблице
VM> отсутствует значение, то вывести 0).
VM> Мысли крутятся вокруг процедуры, но что то красивого решения не получается.
Я бы сделал таблицу в БД
create table all_dates{
year int,
date_in_year date
}
залилбы туда текущий год
+ 20 лет
- 20 лет
а потом
select
a.Date
NVL(b.Показатель,"Жопа")
NVL(b.Значение показателя,0)
from
all_dates a
left outer join твоя таблицы b on (даты равны)
where
date_in_year в диапазоне
:)))))))))))))))))
память экономит не будем :)
а помнитьцо вложенные запросы уже были реализованы
тогда можно попробовать сформировать во вложенном запросе список дат в
промежутке и опять слева сджоинить с твоими данными.
Как формировать еще не придумал :(
вобщем понятна куды копать?
Тема Дня: За милых, yмных, добpых - за нас, мyжики!
До не скорой встречи в аду,
Max mailto:[EMAIL PROTECTED]