Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вьюха с заполнением пропусков данных в таблице по отдельным объектам  [new]
ekagarmanov
Member

Откуда:
Сообщений: 2
День добрый, товарищи!

Столкнулся с такой задачей:
Есть таблица с данными разбитыми по датам и времени, но данные есть не за каждый день. Нужно сделать на основе этой таблицы вьюху, где, если в какую то-дату от минимальной по таблице до текущей не будет данных, то в эту дату заносились бы данные с последнего дня, когда они были. То есть по сути в результате должен получиться селект, который можно будет обернуть во вьюху.
Из усложняющих факторов - данные в таблице занесены по отдельным объектам, соответственно вьюха также должна формироваться на основе дат и данных для конкретных объектов.

Пробовал это сделать через union и outer join'ы из данных таблицы и списка всех возможных дат из этой же таблицы, а также через определение отдельной переменной под дату и итераций по ней, но пока что всё безуспешно.

Возможно кто-нибудь знает как подойти к решению данной задачи - на словах или на примере, в любом случае буду признателен :)
7 июн 18, 13:44    [21475924]     Ответить | Цитировать Сообщить модератору
 Re: Вьюха с заполнением пропусков данных в таблице по отдельным объектам  [new]
L_argo
Member

Откуда:
Сообщений: 1137
Для подобных задач всегда делайте таблицу "Календарь" с полным списком дат.
Потом эту таблицу удобно объединять с "прореженными" датами из других таблиц.
7 июн 18, 13:55    [21475973]     Ответить | Цитировать Сообщить модератору
 Re: Вьюха с заполнением пропусков данных в таблице по отдельным объектам  [new]
Glebanski
Member

Откуда: Msk ->NL
Сообщений: 306
Я даже больше скажу. В интернетике есть скрипты, которые для вас такую таблицу сделают и заполнят.
В Терадате есть ещё системная таблица - календарь
7 июн 18, 13:58    [21475987]     Ответить | Цитировать Сообщить модератору
 Re: Вьюха с заполнением пропусков данных в таблице по отдельным объектам  [new]
ekagarmanov
Member

Откуда:
Сообщений: 2
L_argo,

В данном случае нет возможности добавить новую таблицу - ограничение от заказчика
Структуру с календарём можно и динамически запросом сделать и обращаться потом к ней при создании вьюхи. Тут вопрос больше в том как объединить это вместе чтобы ничего не потерялось - данные по объектам из таблицы и все возможные даты
7 июн 18, 14:02    [21476010]     Ответить | Цитировать Сообщить модератору
 Re: Вьюха с заполнением пропусков данных в таблице по отдельным объектам  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
ekagarmanov
L_argo,
Тут вопрос больше в том как объединить это вместе чтобы ничего не потерялось - данные по объектам из таблицы и все возможные даты

JOIN - объеденяет!
7 июн 18, 14:05    [21476021]     Ответить | Цитировать Сообщить модератору
 Re: Вьюха с заполнением пропусков данных в таблице по отдельным объектам  [new]
Glebanski
Member

Откуда: Msk ->NL
Сообщений: 306
Именно поэтому самая первая таблица, которая создаётся при проектировании новой БД - это календарь
7 июн 18, 14:24    [21476104]     Ответить | Цитировать Сообщить модератору
 Re: Вьюха с заполнением пропусков данных в таблице по отдельным объектам  [new]
Glebanski
Member

Откуда: Msk ->NL
Сообщений: 306
ekagarmanov,

Если заказчик не разрешает лезть в базу, то может он разрешит сделать ещё одну базку рядом чисто для одной таблицы?
7 июн 18, 14:30    [21476129]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить