Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как найти последний записи просветите? / 17 сообщений из 17, страница 1 из 1
18.04.2016, 13:00
    #39218072
RADSeatle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Привет всем
Как найти последний записи просветите? Мне надо узнать на заданный период остаток на начало и остаток на конец периода

Есть таблица
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
Журнал 
ИД    --Инкремент
Дата
Тип   -- приход -- расход -- возврат -- возврат поставщику -- перемещение
ИДтовара
Кол-во
Цена
ОстатокТовара    -- Считается автоматом



Пока беру так
select sum(t,qtyall)
from table t,
(select max(id) id ,idgoods from table t1 where t1.date <=:pdate ) t2
where
t.id=t2.id
...
Рейтинг: 0 / 0
18.04.2016, 13:06
    #39218079
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
RADSeatleКак найти последний записи просветите?
select first 1 order by desc.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.04.2016, 16:09
    #39218338
RADSeatle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Как найти чет не понял?
По всем товарам последний записи и суммировать
...
Рейтинг: 0 / 0
18.04.2016, 16:21
    #39218355
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
RADSeatleПо всем товарам последний записи и суммировать
Это совсем другой вопрос.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.04.2016, 16:30
    #39218369
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
RADSeatleПо всем товарам последний записи


select max(id) id, idgoods from table t1 GROUP BY idgoods
...
Рейтинг: 0 / 0
18.04.2016, 16:37
    #39218376
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
RADSeatleМне надо узнать на заданный период остаток на начало и остаток на конец периода
Открою небольшую тайну: остатки на период принято считать и хранить в отдельной таблице.
...
Рейтинг: 0 / 0
18.04.2016, 16:39
    #39218378
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Hello, Wadman!
You wrote on 18 апреля 2016 г. 16:39:19:

Wadman> Открою небольшую тайну: остатки на период принято считать и хранить в отдельной таблице.а если это пивной ларёк? ;)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.04.2016, 16:43
    #39218390
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
wadman,

Если эти периоды заранее заданы, типа кварталов или месяцев

А если период это "как левая нога зачесалась у манагера" и заранее не предсказуем - то фиг вам

вот зхахочет он сверить остатки на 5 часов 3 минуты и 5 часов 4 минуты например....
...
Рейтинг: 0 / 0
18.04.2016, 16:45
    #39218393
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Мимопроходящийа если это пивной ларёк? ;)
В ларьках в качестве базы - тетрадки, но и там остатки считаются, что sum не гонять от 1-ой и до 98-й страницы в случае чего.
...
Рейтинг: 0 / 0
18.04.2016, 16:46
    #39218395
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Ariochвот зхахочет он сверить остатки на 5 часов 3 минуты и 5 часов 4 минуты например....
Это нормальное желание: берутся последние остатки и дальше гонится запрос по живому (открытому) периоду.
...
Рейтинг: 0 / 0
18.04.2016, 16:51
    #39218405
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
wadmanно и там остатки считаются, что sum не гонять от 1-ой и до 98-й страницы

Так он и считает, и хранит, правда прямо в основной таблице.....

RADSeatleЕсть таблица
Код: sql
1.
2.
.....
ОстатокТовара    -- Считается автоматом



Странно другое, если его просьбу принимать за чистую монету, буквально как сформулированно, то он буквально хочет "складывать лампочки с апельсинами"

RADSeatleПока беру так
select sum(t,qtyall) ...
RADSeatleПо всем товарам последний записи и суммировать

Зачем ему это надо - хз. Например, если предположить, что все товары пакуются в одинаковые коробки, чтобы оценить свободное место на складе. Ии расход циферок или бумаги для штрихкодов. Etc.
...
Рейтинг: 0 / 0
18.04.2016, 17:04
    #39218432
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
AriochТак он и считает, и хранит, правда прямо в основной таблице.....
Не прочитал его комментарии... Видимо задача учебная, с таким уровнем детализации-то.
А в таком случае ему и его решения хватит, только индекс обратный по дате добавить и 19071532
...
Рейтинг: 0 / 0
18.04.2016, 17:46
    #39218488
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
wadmanМимопроходящийа если это пивной ларёк? ;)
В ларьках в качестве базы - тетрадки, но и там остатки считаются, что sum не гонять от 1-ой и до 98-й страницы в случае чего. Не остатки, а нарастающий итог.
В смысле, не на отдельном листе.
...
Рейтинг: 0 / 0
19.04.2016, 09:54
    #39218799
RADSeatle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Это не учебная база
База как сказано для ларька магазина
Просто надо вывести остаток на начало и остаток на конец периода
Примерно так работает
ИД Дата Тип журнал Откуда Куда ИдТовара Сколько АвтоматОстаток1 01.01.2016 Приход Поставшик Основной магазин Ручка 100 1002 01.01.2016 Расход Основной магазин Покупатель Ручка 50 503 01.01.2016 Перемещение Основной магазин Магазин 2 Ручка 10 50 ---При перемещение не считаю автоматом

По этому хотел последную записи взять по товарам что бы показать остаток на начало периода если указать
01.01.2016 - 01.01.2016
Остаток на начало <01.01.2016 0 штук на конец <=01.01.2016 50 штук


остатки храню отдельно так без даты
Примерно
таблица остатки
Наименование магазина ИдТовара ОстатокОсновной магазин Ручка 40Мазагин 2 Ручка 10

Потом эту таблицу связываю с справочником товары что показать сколько остаток есть каждом магазине

Примерно выглядет так
Наименование товар. основной магазин Магазин 2 Общий колво Ручка 10 10 20

Сейчас беру так
может неправильно делаю

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select sum(t,qtyall)
from table t,
(select max(id) id ,idgoods from table t1 where t1.date <:p_begin_date ) t2
where
t.id=t2.id 

select sum(t,qtyall)
from table t,
(select max(id) id ,idgoods from table t1 where t1.date <=:p_end_date ) t2
where
t.id=t2.id 
...
Рейтинг: 0 / 0
19.04.2016, 09:59
    #39218809
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
RADSeatle
Сейчас беру так
может неправильно делаю

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select sum(t,qtyall)
from table t,
(select max(id) id ,idgoods from table t1 where t1.date <:p_begin_date ) t2
where
t.id=t2.id 

select sum(t,qtyall)
from table t,
(select max(id) id ,idgoods from table t1 where t1.date <=:p_end_date ) t2
where
t.id=t2.id 



не ври. Эти запросы не работоспособны. По крайней мере в Firebird
...
Рейтинг: 0 / 0
19.04.2016, 10:15
    #39218824
RADSeatle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Не вру примерно так беру
сейчас не на работе
Потом добавлю скрипт
...
Рейтинг: 0 / 0
21.04.2016, 05:42
    #39220756
RADSeatle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти последний записи просветите?
Сам скрипт может есть другой решение пока так беру последние записи и суммирую
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 select sum(QTS.RGSTRITEMQTY_ALL)
    from TMOVEMENT_TRANS QTS, 
           (select max(QT.RGSTRITEMID) RGSTRITEMID, QT.GDSID
                             from TMOVEMENT_TRANS QT
                             where QT.RGSTRITEMDATE <:BEGIN_DATE
                                and qt.rgstritemmov_direc<>0 --исключаем перемещение
                             group by QT.GDSID) QT
   where QTS.RGSTRITEMID = QT.RGSTRITEMID into :o_beg_qty;


   select sum(QTS.RGSTRITEMQTY_ALL)
     from TMOVEMENT_TRANS QTS, 
            (select max(QT.RGSTRITEMID) RGSTRITEMID, QT.GDSID
                                  from TMOVEMENT_TRANS QT
                                 where QT.RGSTRITEMDATE <= :END_DATE
                                   and qt.rgstritemmov_direc<>0 --исключаем перемещение
                                 group by QT.GDSID) QT
    where QTS.RGSTRITEMID = QT.RGSTRITEMID into :O_END_QTY;
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как найти последний записи просветите? / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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