powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / "прогрессируемый" запрос
6 сообщений из 6, страница 1 из 1
"прогрессируемый" запрос
    #32046214
Faza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли создать запрос такого плана:
есть некоторая таблица, в которой описано движение товара. Т.е. кждая строка показывает, что с этим товаром произошло: приход, расход, от кого, кому и когда.
Расчет остатков осуществляется по этой таблице.
Получение остатка на определенную дату - не вопрос.

Можно ли так сформировать запрос, чтобы он вернул остаток товара на каждый день:
2002-08-01 шт 5
2002-08-02 шт 7
2002-08-02 шт 3
?
...
Рейтинг: 0 / 0
"прогрессируемый" запрос
    #32046220
Makc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не вижу проблем - через group by
Приведите структуру таблицы...
...
Рейтинг: 0 / 0
"прогрессируемый" запрос
    #32046230
Faza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
date
s_agent_id -- поставщик
d_agent_id -- получатель
m_count -- количество
direct -- направление. 1 - приход, -1 - расход

схема немного упрощенная

group by возвратит общее движение товара по дням.
а мне надо остаток.

уточнение: остаток на дату - сумма приходов до этой даты минус сумму расходов до этой даты
...
Рейтинг: 0 / 0
"прогрессируемый" запрос
    #32046240
tura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Примерно так:
Код: plaintext
1.
2.
3.
select t1.date, sum(t2.m_count*t2.direct) as qty
from tableX as t1 LEFT JOIN tableX as t2 ON t2.date<t1.date
group by t1.date

Это пройдет если дата уникальна, если же нет, то в условие JOIN-а нужно добавить и сравнение ПК
...
Рейтинг: 0 / 0
"прогрессируемый" запрос
    #32046244
Faza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую, спасибо
Если еще какие-нибудь идеи будут, пишите.
...
Рейтинг: 0 / 0
"прогрессируемый" запрос
    #32046248
Makc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вьюха (думаю написать проблем не будет)
движение по товара дням - items
item_id
date
count

select t1.date, sum(t2.count) as count from items t1 inner join
items t2 on t1.date<=t2.date group by t1.date order t1.by date
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / "прогрессируемый" запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]