|
Остатки по дням
|
|||
---|---|---|---|
#18+
Добрый день, подскажите как решить задачу,пожалуйста! Я только начал пользоваться SQL, буду очень признателен за помощь. Есть таблица содержащая остаток товаров в магазинах каждое первое число месяца( у этих строк признак 1) и в ней же все движение по датам (+ и -) (у этих строк признак 0) , нужно получить таблицу с остатком на каждый день. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:18 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
hotcolt, и что не получается? простейший вариант использования оконной версии sum() ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:59 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
WarAnt, Можно пример написать. Мне предлагают циклом просто решать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 16:12 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
hotcolt, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 17:17 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
WarAnt, т.к. изменения могут быть не каждый день, нужно ещё таблицу-календарь присоединить. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 17:18 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
Minamoto WarAnt, т.к. изменения могут быть не каждый день, нужно ещё таблицу-календарь присоединить. это вы ТСу советуйте мне и так понятно:)), я просто нарисовал пример использования оконной функции ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 18:01 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
WarAnt, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Вот так вот ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 11:09 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
hotcolt WarAnt, SELECT CONVERT (datetime,convert(char(8),DATE_CALC_INT)) AS RealDate , MONTH(CONVERT (datetime,convert(char(8),DATE_CALC_INT))) AS RealMonth, PHARMACY_ID, PRODUCT_ID, QUNTITY, SUM(QUNTITY) OVER (PARTITION BY PHARMACY_ID, PRODUCT_ID, MONTH(CONVERT (datetime,convert(char(8),DATE_CALC_INT))) ORDER BY CONVERT (datetime,convert(char(8),DATE_CALC_INT)) ,IS_RST DESC) AS OSTATKI,IS_RST FROM [ANALYTICS_DEPARTMENT_DB].[FTT\k.chepurko].[Fact_Exc_StockMove] ORDER BY CONVERT (datetime,convert(char(8),DATE_CALC_INT)) Вот так вот ? так или не так, вам должно быть виднее по результату работы запроса:) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 11:54 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
WarAnt hotcolt WarAnt, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Вот так вот ? так или не так, вам должно быть виднее по результату работы запроса:) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 13:50 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
Увы, нет, так считает только по датам когда было движение, и на первые числа строки задваиваются, потому что на первые числа так же есть движение ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:30 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
Вообщем не получается оконной функцией , из за пробелов в датах , а присоединить таблицу со всеми датами периода * магазины* продукты , не хватило памяти. Подскажите , как реализовать вариант с циклом, плиз ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:30 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
hotcolt, куда же память делась? Годовой календарь содержит всего 365 строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:23 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
hotcolt Увы, нет, так считает только по датам когда было движение, и на первые числа строки задваиваются, потому что на первые числа так же есть движение Вы убрали год из partition, может это причина того что у вам там задваивается? Вторая причина почему задваивается в том что вы неправильно указали формат хранения данных в первом сообщении. Насчет цикла,я думаю сами разберетесь, я курсоры не использую, оконная функция сдесь в любом случае решает задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:54 |
|
Остатки по дням
|
|||
---|---|---|---|
#18+
Владислав Колосов hotcolt, куда же память делась? Годовой календарь содержит всего 365 строк. Почти уверен, что ТС на полном серьезе попытался соорудить декартово произведение "со всеми датами периода * магазины* продукты" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:55 |
|
|
start [/forum/topic.php?fid=46&fpage=77&tid=1686819]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 133ms |
0 / 0 |