Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Kontox Member Откуда: Сообщений: 146 |
Даже не знаю, как объяснить суть задачи, что бы ее поняли и чтоб было мало дополнительных вопросов. В СиКвеЛе настроен шедулер, которые проделывает такую операцию, каждый день. SELECT [Dt] ,[CustomerName] ,[ItemRelation] ,[ProductName], CASE WHEN MAX(CASE WHEN IsPromo = 1 THEN SaleCount END) OVER (PARTITION BY ItemRelation,DocumentNum) < 0 AND SaleCount < 0 THEN 0 ELSE SaleCount END AS SaleCount ,[DocumentNum] ,[DocumentDate] ,[IsPromo] ,[CustomerType] ,[CalendarYear] into [Action].[dbo].[promo_data1] FROM [Action].[dbo].[promo_data] ... ... в [Action].[dbo].[promo_data] строки имеют размах дат (Dt column) от 01.01.2017-01.09.2018. Так вопрос Как сделать, чтобы скрипт работал только со свежепоступившими данными. Итак, сегодня скрипт отработал с 01.01.2017-01.09.2018 а завтра скрипт запустился и видит, что данные в [Action].[dbo].[promo_data] теже самые(в плане дат, значит добавлять их [Action]. [dbo]. [promo_data1] не надо. но допусти в четверг поступят данные, где диапазон дат больше чем 01/09/2018 , а значит с ними нужно работать. Но есть подковырка, данные, даже если они больше 01.09.2018, могут иметь хвост ,который меньше этой даты. почему такое может быть? Акция проводился с 01.08.2018 ,а закончилась 24.10.2018, и только после этого данные поступили в базу. Я работаю с группой ,[DocumentNum]+ ,[DocumentDate]+ ,[CustomerType]+ ,[CalendarYear] Следовательно нужно скрипт в шедулере исправить, чтобы он выполнял две проверки. 1. являются ли поступившие данные больше 01.09.2018 2.если являются нет ли у них хвоста, который захватывает диапазон дат меньше 01.09.2018 Если они новые и без хвоста, берем их в таблицу [Action].[dbo].[promo_data1] если они новые но с хвостом, значит берем не только то что больше 01.09.2018,но и принадлежащий им хвост Как так модифицировать код? |
24 окт 18, 12:50 [21713377] Ответить | Цитировать Сообщить модератору |
iiyama Member Откуда: Сообщений: 642 |
Kontox, Ваш скрипт будет работать только 1 раз
|
|
24 окт 18, 13:02 [21713390] Ответить | Цитировать Сообщить модератору |
Glebanski Member Откуда: Msk ->NL Сообщений: 319 |
Kontox, А кроме DocumentDate у вас других datetime в системе нет? PS: Всегда можно воспользоваться minus для сравнения двух датасетов |
26 окт 18, 13:14 [21716014] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |