powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Кривой запрос
3 сообщений из 3, страница 1 из 1
Кривой запрос
    #32563599
leonbn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, плиз.
Есть две таблицы: Остатки (tOSt) и Приходы (tPrih)
tOst {data, tid, ost} остаток товара на начало дня
tPrih {data, tid, prih} приходы товара в течении дня
Необходимо подсчитать сумарную реализацию за период dt1 ... dt2-1
Реализация за один день равна ost за DT + sum(Prih) за Dt - ost за Dt+1
Совсем запутался. Как это лучше сделать.
Может быть так:
Код: plaintext
1.
2.
3.
4.
5.
select sum(a.ost - b.ost + sum(c.prih))
from tOst a, tOst b, tPrih c
where a.tid = :tid and a.tid = b.tid and a.tid = c.tid and
         a.data >= :dt1 and a.data < :dt2 and
         a.data +  1  = b.data and c.data = a.data
...
Рейтинг: 0 / 0
Кривой запрос
    #32564086
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаешь основную идею теории конечных автоматов - разложение сложной задачи на последовательность элементарных. Поэтому советую вынести это в хранимую процедуру специальную. Запрос может и не сложный на самом деле, но мне вот что-то влом думать как и многим другим. А в процедуре ничего нету плохого - она тебе пригодиться да и вероятнее всего будет работать быстрее запроса...
...
Рейтинг: 0 / 0
Кривой запрос
    #32564220
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
Select 
  (Select Ost From tOst Where tId = :tId and Data = :Dt1) +
  (Select Sum(Prih) From Prih Where tId = :tId and Data between :Dt1 and :Dt2) -
  (Select Ost From tOst Where tId = :tId and Data = :Dt2)
  
Удачи.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Кривой запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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