:: Visual Foxpro, Foxpro for DOS
помогите сделать запрос
ming_gr
Автор

Сообщений: 3
Дата регистрации: 05.11.2018
Задача:

Посчитать скорость продаж товара с размерами.

Нужно поделить количество проданного товара на срок нахождения товара на складе, то есть на количество дней, когда остаток больше 0

Создать табличку: Товар_, размер_, склад_, скорость продаж, дата первого прихода, дата последнего ухода
(_ уникальный набор)

Что имеем:

Документы: Дата, ОтКого, Кому, операция, товар, размер, количество
(в зависимости от операции склад = ОтКого или Кому)

Операции: {приход, расход, перемещение}

Номенклатура: таблица товаров (товар) и таблица размеров (товар, размер)

Моими знаниями об SQL на FOXpro не решается. Застреваю на этапе подсчета количества дней нахождения товар на складе
Ratings: 0 negative/0 positive
Re: помогите сделать запрос
AndyNigmatec

Сообщений: 1573
Откуда: Волгоград
Дата регистрации: 28.06.2015
Чтобы дней на складе посчитать нужно иметь таблицу среза остатков на каждый день (например на утро) ... вот пример (не фоксовый но cуть думаю понятна)

select t.code, count(distinct t.pdate)
from tprice_rating t
where t.free>0 and t.pdate between :date1 and :date2
group by t.code
into :code, :skldays;



Исправлено 4 раз(а). Последнее : AndyNigmatec, 06.11.18 15:44
Ratings: 0 negative/0 positive
Re: помогите сделать запрос
LUCIAN

Сообщений: 343
Откуда: Лида Беларусь
Дата регистрации: 25.03.2008
ПРИВОЖУ ФОРМИРОВАНИЕ ОБОРОТНОЙ ВЕДОМОСТИ ПО ТОВАРАМ ЗА ПЕРИОД DATNP-DATKP С ФОРМИРОВАНИЕМ КОЭФФИЦИЕНТА ОБОРАЧИВАЕМОСТИ ЗА ЭТОТ ПЕРИОД
ДЛЯ ЭТОГО СФОРМИРУЕМ КУРСОР ОПЕРАЦИЙ OSTG,В КОТОРОМ POPE=0-ПРИХОД,POPE=1-РАСХОД(KOL<0), ОПЕРАЦИЯ С ДАТОЙ=DATNP-1 ЭТО ОСТАТОК НА НАЧАЛО ПЕРИОДА,CMAT-КОД ТОВАРА
DATNP=DATE(2018,01,01)
DATKP=DATE()
DATDO=DATNP-1
SELE 0
CREATE CURSOR OSTG (CSSN N(3),НАИМЕНОВАНИЕ C(60),ЕД_ИЗМ C(30),DAT_OP D(8),KOL N(18,3),SUMA N(18,2),POPE N(1),CMAT N(10))
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Блок отображения информации ОДРЛ 65661.БОИ.01 ','ШТУК ',{^2017-12-31},1.000,1785.13,0,63975)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Блок отображения информации ОДРЛ 65661.БОИ.01 ','ШТУК ',{^2018-5-2},1.000,1785.13,0,63975)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Блок отображения информации ОДРЛ 65661.БОИ.01 ','ШТУК ',{^2018-5-3},-1.000,-1785.13,1,63975)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Вариатор вентилятора 060143964 ','ШТУК ',{^2018-5-22},1.000,58.12,0,33386)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Вариатор вентилятора 060143964 ','ШТУК ',{^2018-5-24},1.000,273.31,0,33386)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Вариатор вентилятора 060143964 ','ШТУК ',{^2018-5-24},-1.000,-273.31,1,33386)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Вентилятор в сб. 494061 ','ШТУК ',{^2017-12-31},1.000,219.41,0,69362)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Вентилятор в сб. 494061 ','ШТУК ',{^2018-9-3},1.000,255.60,0,69362)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Вентилятор в сб. 494061 ','ШТУК ',{^2018-9-10},-1.000,-255.60,1,69362)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Герметик резьбовой средней фиксации 50г. ','ШТУК ',{^2018-6-12},1.000,45.00,0,61577)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Герметик резьбовой средней фиксации 50г. ','ШТУК ',{^2018-6-12},-1.000,-45.00,1,61577)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Герметик резьбовой средней фиксации 50г. ','ШТУК ',{^2018-8-16},1.000,45.00,0,61577)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Герметик резьбовой средней фиксации 50г. ','ШТУК ',{^2018-8-16},-1.000,-45.00,1,61577)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Герметик резьбовой средней фиксации 50г. ','ШТУК ',{^2018-9-13},1.000,45.00,0,61577)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Герметик резьбовой средней фиксации 50г. ','ШТУК ',{^2018-9-13},-1.000,-45.00,1,61577)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидромотор 57510035 8,5СМ ','ШТУК ',{^2018-5-1},1.000,2056.05,0,71221)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидромотор 57510035 8,5СМ ','ШТУК ',{^2018-5-22},-1.000,-2056.05,1,71221)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидромотор 57510035 8,5СМ ','ШТУК ',{^2018-8-27},1.000,2056.05,0,71221)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидромотор 57510035 8,5СМ ','ШТУК ',{^2018-8-27},-1.000,-2056.05,1,71221)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидромотор 57510035 8,5СМ ','ШТУК ',{^2018-8-31},1.000,2056.05,0,71221)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидромотор 57510035 8,5СМ ','ШТУК ',{^2018-9-15},-1.000,-2056.05,1,71221)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидроцилиндр КГЦ 305 25-18-10 ','ШТУК ',{^2017-12-31},1.000,12.47,0,35967)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидроцилиндр КГЦ 305 25-18-10 ','ШТУК ',{^2018-8-30},1.000,12.70,0,35967)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Гидроцилиндр КГЦ 305 25-18-10 ','ШТУК ',{^2018-8-31},-1.000,-12.70,1,35967)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик 5734375 М12*1,5*45 ','ШТУК ',{^2017-12-31},4.000,52.00,0,52017)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик 5734375 М12*1,5*45 ','ШТУК ',{^2017-12-31},1.000,13.17,0,52017)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик 5734375 М12*1,5*45 ','ШТУК ',{^2018-9-28},-1.000,-13.17,1,52017)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик 5734375 М12*1,5*45 ','ШТУК ',{^2017-12-31},3.000,49.83,0,52017)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик 5734375 М12*1,5*45 ','ШТУК ',{^2018-4-6},-2.000,-33.22,1,52017)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик 5734375 М12*1,5*45 ','ШТУК ',{^2018-4-6},-1.000,-16.61,1,52017)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик сзхр-01 (сигнализатор заднего хода) ','ШТУК ',{^2017-12-31},1.000,3.77,0,40585)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик сзхр-01 (сигнализатор заднего хода) ','ШТУК ',{^2018-2-7},1.000,18.00,0,40585)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Датчик сзхр-01 (сигнализатор заднего хода) ','ШТУК ',{^2018-3-1},-1.000,-18.00,1,40585)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Корпус СПР -09.10.00 ','ШТУК ',{^2017-12-31},1.000,8.66,0,59471)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Корпус СПР -09.10.00 ','ШТУК ',{^2018-8-30},1.000,29.68,0,59471)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Корпус СПР -09.10.00 ','ШТУК ',{^2018-8-31},-1.000,-29.68,1,59471)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Масло трансм. Shell Spirax S4 CX50 ','Л ',{^2018-4-5},8.000,55.92,0,73664)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Масло трансм. Shell Spirax S4 CX50 ','Л ',{^2018-4-5},-8.000,-55.92,1,73664)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Масло трансм. Shell Spirax S4 CX50 ','Л ',{^2018-9-3},8.000,55.92,0,73664)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Масло трансм. Shell Spirax S4 CX50 ','Л ',{^2018-9-4},-8.000,-55.92,1,73664)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Масло трансм. Shell Spirax S4 CX50 ','Л ',{^2018-9-20},8.000,55.92,0,73664)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Масло трансм. Shell Spirax S4 CX50 ','Л ',{^2018-9-20},-8.000,-55.92,1,73664)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Муфта предохранительная GS-66L-0340:000(060527640) ','ШТУК ',{^2017-12-31},2.000,120.08,0,52966)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Муфта предохранительная GS-66L-0340:000(060527640) ','ШТУК ',{^2018-4-9},-1.000,-60.04,1,52966)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Муфта предохранительная GS-66L-0340:000(060527640) ','ШТУК ',{^2018-5-24},-1.000,-60.04,1,52966)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ПАЛЕЦ БДР-6.10.05.000 ','ШТУК ',{^2018-3-30},1.000,0.96,0,59312)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ПАЛЕЦ БДР-6.10.05.000 ','ШТУК ',{^2018-3-30},-1.000,-0.96,1,59312)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ПАЛЕЦ БДР-6.10.05.000 ','ШТУК ',{^2017-12-31},1.000,9.83,0,59312)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Подшипник 6305.2RS(180305) ','ШТУК ',{^2018-9-14},1.000,2.86,0,35478)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Подшипник 6305.2RS(180305) ','ШТУК ',{^2018-9-14},-1.000,-2.86,1,35478)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Подшипник 6305.2RS(180305) ','ШТУК ',{^2018-5-1},2.000,5.98,0,35478)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Подшипник 6305.2RS(180305) ','ШТУК ',{^2018-5-8},-2.000,-5.98,1,35478)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Подшипник 6305.2RS(180305) ','ШТУК ',{^2018-8-31},2.000,6.72,0,35478)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Подшипник 6305.2RS(180305) ','ШТУК ',{^2018-8-31},-2.000,-6.72,1,35478)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ПОДШИПНИКОВЫЙ УЗЕЛ СПР-10.08.00-01 ','ШТУК ',{^2017-12-31},210.000,14019.60,0,61160)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ПОДШИПНИКОВЫЙ УЗЕЛ СПР-10.08.00-01 ','ШТУК ',{^2018-6-6},-6.000,-400.56,1,61160)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ПОДШИПНИКОВЫЙ УЗЕЛ СПР-10.08.00-01 ','ШТУК ',{^2018-8-16},-2.000,-133.52,1,61160)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ПОДШИПНИКОВЫЙ УЗЕЛ СПР-10.08.00-01 ','ШТУК ',{^2018-9-6},-20.000,-1335.20,1,61160)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-8-2},2.000,31.82,0,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-8-27},-1.000,-15.91,1,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2017-12-31},2.000,34.02,0,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-5-2},2.000,34.02,0,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-5-3},-2.000,-34.02,1,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-5-22},-2.000,-34.02,1,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-6-29},2.000,34.02,0,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-6-10},1.000,32.75,0,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Сенсор BES M12MI-PSC40B-BV02 ','ШТУК ',{^2018-6-12},-1.000,-32.75,1,61060)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ТРАНСПОРТЕР 524-50105:000А ','ШТУК ',{^2018-3-22},1.000,79.40,0,54141)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ТРАНСПОРТЕР 524-50105:000А ','ШТУК ',{^2018-5-22},1.000,79.40,0,54141)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'ТРАНСПОРТЕР 524-50105:000А ','ШТУК ',{^2018-9-3},-1.000,-79.40,1,54141)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2017-12-31},19.000,81.32,0,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-4-14},-1.700,-7.28,1,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-4-28},-14.000,-59.92,1,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-5-2},2.800,11.98,0,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-8-30},6.000,25.68,0,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-8-31},-6.000,-25.68,1,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-10-22},-2.800,-11.98,1,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-10-22},-3.300,-14.12,1,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-10-23},0.200,0.86,0,63666)
INSERT INTO OSTG (CSSN,НАИМЕНОВАНИЕ,ЕД_ИЗМ,DAT_OP,KOL,SUMA,POPE,CMAT) VALUES (15.00,'Шланг "Томифлекс" из полиуретана д.65мм ','ПОГ.М ',{^2018-10-23},-0.200,-0.86,1,63666)
KLUCS=0
SELECT cssn,Наименование,Ед_изм,DAT_OP,KOL*1 KOL,KOL*0 OST,SUMA,POPE,CMAT FROM OSTG ORDER BY cssn,Наименование,Ед_изм,4,POPE INTO CURSOR OST READWRITE
* РАСЧИТАЕМ ОСТАТОК ПОСЛЕ КАЖДОЙ ОПЕРАЦИИ
SCAN
KLUCN=CSSN*10**8+CMAT
IF KLUCN # KLUCS
OST_TEK=0
KLUCS=KLUCN
ENDIF
OST_TEK=OST_TEK+KOL
REPLACE OST WITH OST_TEK
ENDSCAN
*ФОРМИРУЕМ ОБОРОТНУЮ ВЕДОМОСТЬ
SELECT cssn,Наименование,Ед_изм,SUM(IIF(POPE=1,-KOL,0))/AVG(OST) KOF,AVG(OST) СР_ДНЕВ_ОСТ,;
SUM(IIF(M.DATDO=DAT_OP,KOL*1,KOL*0)) KN,SUM(IIF(M.DATDO=DAT_OP,SUMA*1,SUMA*0)) SN, ;
SUM(IIF(DAT_OP>M.DATDO AND POPE=0,KOL*1,KOL*0)) KP,SUM(IIF(DAT_OP>M.DATDO AND POPE=0,SUMA*1,SUMA*0)) SP, ;
SUM(IIF(DAT_OP>M.DATDO AND POPE=1,KOL*-1,KOL*0)) KR,SUM(IIF(DAT_OP>M.DATDO AND POPE=1,SUMA*-1,SUMA*0)) SR, ;
SUM(KOL) KK,SUM(SUMA) SK, ;
CMAT FROM OST GROUP BY CSSN,CMAT,Наименование,Ед_изм ORDER BY 4 INTO CURSOR COB



Исправлено 2 раз(а). Последнее : LUCIAN, 06.11.18 15:12
Ratings: 0 negative/0 positive
Re: помогите сделать запрос
Божья_коровка

Сообщений: 25731
Дата регистрации: 23.08.2001
У меня ощущение, что у ТС нет никакого среза с остатками на дату. И это не производственная задача, а учебная.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: помогите сделать запрос
AndyNigmatec

Сообщений: 1573
Откуда: Волгоград
Дата регистрации: 28.06.2015
ну если есть тока начальный остаток и "проводки" (доки) - то тогда придется цельну процедуру городить - одним запросом не обойдешься
Ratings: 0 negative/0 positive
Re: помогите сделать запрос
ming_gr
Автор

Сообщений: 3
Дата регистрации: 05.11.2018
даже начальных нет, все данные в документах. Это не 1С, другая софтина.

Процедура тоже возможна, лишь бы она не дни работала....
Ratings: 0 negative/0 positive
Re: помогите сделать запрос
ming_gr
Автор

Сообщений: 3
Дата регистрации: 05.11.2018
Среза нет. Только конечный. А он для этого не подходит. Все итоги получаются внутренними расчетами - мне их алгоритмы недоступны и неизвестны.
Ratings: 0 negative/0 positive
Re: помогите сделать запрос
AndyNigmatec

Сообщений: 1573
Откуда: Волгоград
Дата регистрации: 28.06.2015
Почему не подходит? У вас вроде как все и есть необходимое, только не начальный остаток а на "сейчас" - ну и по докам выкрутить-то (рассчитать) назад можно ... тока вот "быстрым" (условно быстро - тут много чего влияет - размер таблиц, индексы, да и вообще степень черезжопности построения базы) такой расчет вряд ли получится.

Можно еще сильно схалтурить и не считать величину "дней на складе", а быстро по докам получить дней продаж - но по ним считать скорость продаж не совсем корректно (я бы даже сказал совсем не корректно) ... только для узкой номенклатуры со стабильными продажами.



Исправлено 5 раз(а). Последнее : AndyNigmatec, 06.11.18 20:00
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 26 (Гостей: 26)

© 2000-2024 Fox Club 
Яндекс.Метрика