powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Алгоритм расчёта ведомости движения товара
39 сообщений из 39, показаны все 2 страниц
Алгоритм расчёта ведомости движения товара
    #39307609
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, приветствую !
В голове никак не могу придумать, какую нужно организовать структуру базы и как потом быть с сформированием запроса ведомости по движению товара для следующих условий:
Заказчик хочет чтобы была возможность смены цены в определённую дату и товар до этой даты считался по старой цене, а после этой даты - по новой.
И чтобы таких дат со сменой цены могло быть неограниченное количество.

Если кто с таким сталкивался или знает как реализовать - намекните на решение с формированием запроса по движению товара...
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39307630
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Придумал вот так...

ID товара Дата начала цены Дата конца цены Цена
327 01.05.2016 31.05.2016 100
327 01.06.2016 30.06.2016 115
327 01.07.2016 120

А при выборе цены проверять дату операций на between дат у цен и использовать попадающую в промежутки.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39307642
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евген987Придумал вот так...Подобный подход требует наложения на систему хранения ограничивающего условия (гарантирующего отсутствие как наложения периодов, так и "пропусков"), которое в рамках MS Access реализовать невозможно. То есть имеется потенция нарушения целостности и непротиворечивости данных.
Для реализации требования достаточно более простой структуры - (ИД товара, Цена, Дата начала её действия). Тогда для любой заданной даты и товара цена определяется просто выбором первой записи для этого товара с датой не более заданной при сортировке по убыванию дат.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39307648
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, спасибо, учту обязательно Ваши подсказки !!!
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39307750
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евген987,
в общих чертах как-то так: (а подробней - нет предела совершенству см это )
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39307956
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем в двух словах:
1) Структура таблицы прайса

2) Структура таблицы операций

и вот таким запросом считаем сумму операций за период
Код: sql
1.
2.
SELECT SUM(a.Quantity*(SELECT TOP 1 b.intPrice FROM floatPrice b WHERE b.pDate<=a.operDate AND a.prodID=b.prodID ORDER BY b.pDate desc)) 
FROM floatOper AS a;


Получаем следующее
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39307972
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евген987,

С самого начала формирования номенклатуры по товару планируешь цепочку выстраивать? Товар смешанный? (производство РФ и импорт из зарубежного государства?). Роль твоей компании на рынке? (продавец,покупатель?)
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39307975
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов, я думаю внедрять уже в действующий проект...
про товар вообще не в курсе, мне без разницы до него, ну и про компании которые работают на проекте - они перекупы получается
А что ?
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311709
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, спасайте !!!
Не вижу ошибки, а мне говорит есть...


Вот сам код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
SELECT a.prodid, 
       d.produnit, 
       d.prodname, 
       (SELECT TOP 1 z.prodprice 
        FROM   products z 
        WHERE  d.prodid = z.prodid 
               AND z.pricedate <=# 09 / 20 / 2016# 
        ORDER  BY z.pricedate DESC), 
       c.quantity                                                 AS BegRem, 
       SUM(Iif(b.opername = 'prihod' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Prihod, 
       SUM(Iif(b.opername = 'realiz' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Realiz, 
       SUM(Iif(b.opername = 'spisanie' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Spisanie, 
       SUM(Iif(b.opername = 'vozvrat' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Vozvrat, 
       Iif(begrem IS NULL, 0, begrem) + prihod 
       + vozvrat - realiz - spisanie                              AS EndRem 
FROM   ((((((SELECT prodid 
            FROM   remains 
            WHERE  salid = 19 
            UNION 
            SELECT a.prodid 
            FROM   operations a, 
                   users b 
            WHERE  a.usrid = b.usrid 
                   AND b.salid = 19) a 
            LEFT JOIN operations b 
                   ON a.prodid = b.prodid) 
           LEFT JOIN remains c 
                  ON a.prodid = c.prodid) 
          LEFT JOIN products d 
                 ON a.prodid = d.prodid) 
         LEFT JOIN users e 
                ON b.usrid = e.usrid) 
        LEFT JOIN bases f 
               ON d.basid = f.basid) 
WHERE  e.salid = 19 
       AND f.srvflag = 0 
GROUP  BY a.prodid, 
          d.produnit, 
          d.prodname, 
          (SELECT TOP 1 z.prodprice 
           FROM   products z 
           WHERE  d.prodid = z.prodid 
                  AND z.pricedate <=# 09 / 20 / 2016# 
           ORDER  BY z.pricedate DESC), 
          c.quantity 
ORDER  BY d.prodname 
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311730
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
До внедрения подзапроса с выбором цены был следующий вариант (который проверен и работает)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
SELECT a.prodid, 
       d.produnit, 
       d.prodname, 
       d.prodprice, 
       c.quantity                                                 AS BegRem, 
       SUM(Iif(b.opername = 'prihod' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Prihod, 
       SUM(Iif(b.opername = 'realiz' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Realiz, 
       SUM(Iif(b.opername = 'spisanie' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Spisanie, 
       SUM(Iif(b.opername = 'vozvrat' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Vozvrat, 
       Iif(begrem IS NULL, 0, begrem) + prihod 
       + vozvrat - realiz - spisanie                              AS EndRem 
FROM   ((((((SELECT prodid 
            FROM   remains 
            WHERE  salid = 19 
            UNION 
            SELECT a.prodid 
            FROM   operations a, 
                   users b 
            WHERE  a.usrid = b.usrid 
                   AND b.salid = 19) a 
            LEFT JOIN operations b 
                   ON a.prodid = b.prodid) 
           LEFT JOIN remains c 
                  ON a.prodid = c.prodid) 
          LEFT JOIN products d 
                 ON a.prodid = d.prodid) 
         LEFT JOIN users e 
                ON b.usrid = e.usrid) 
        LEFT JOIN bases f 
               ON d.basid = f.basid) 
WHERE  e.salid = 19 
       AND f.srvflag = 0 
GROUP  BY a.prodid, 
          d.produnit, 
          d.prodname, 
          d.prodprice, 
          c.quantity 
ORDER  BY d.prodname
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311731
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалите подзапрос из Group By.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311733
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. вместо d.prodprice пытаюсь инжектить подзапрос, который из справочника продукции (прайслиста) будет подтягивать цену на дату, которая спрашивается в запросе.

Ну вот что не так я сделал ? - не пойму... :-(
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311739
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world, результат :-(

...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311745
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В тестовом запросе такой же точно подзапрос отлично отрабатывает
Код: sql
1.
2.
3.
SELECT b.prodName, (SELECT TOP 1 c.prodPrice FROM products c WHERE a.prodID=c.prodID AND c.priceDate<=#09/19/2016# ORDER BY c.priceDate desc) AS Cen
FROM operations AS a, products AS b
WHERE a.prodID=b.prodID AND a.operDate=#09/19/2016#;
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311755
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евген987,
попробуй скопипастить запрос , который ниже себе в конструктор SQL запросов и выполнить , и скажи , что будет
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
SELECT a.prodid, d.produnit, d.prodname, (SELECT TOP 1 z.prodprice 
        FROM   products z 
        WHERE  d.prodid = z.prodid 
               AND z.pricedate <=#9/20/2016# 
        ORDER  BY z.pricedate DESC), c.quantity AS BegRem, SUM(Iif(b.opername = 'prihod' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Prihod, SUM(Iif(b.opername = 'realiz' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Realiz, SUM(Iif(b.opername = 'spisanie' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Spisanie, SUM(Iif(b.opername = 'vozvrat' 
               AND b.operdate <# 09 / 20 / 2016#, b.quantity, 0)) AS Vozvrat, Iif(begrem IS NULL, 0, begrem) + prihod 
       + vozvrat - realiz - spisanie AS EndRem
FROM (((((SELECT prodid 
            FROM   remains 
            WHERE  salid = 19 
            UNION 
            SELECT a.prodid 
            FROM   operations a, 
                   users b 
            WHERE  a.usrid = b.usrid 
                   AND b.salid = 19) AS a LEFT JOIN operations AS b ON a.prodid = b.prodid) LEFT JOIN remains AS c ON a.prodid = c.prodid) LEFT JOIN products AS d ON a.prodid = d.prodid) LEFT JOIN users AS e ON b.usrid = e.usrid) LEFT JOIN bases AS f ON d.basid = f.basid
WHERE e.salid = 19 
       AND f.srvflag = 0
GROUP BY a.prodid, d.produnit, d.prodname, (SELECT TOP 1 z.prodprice 
           FROM   products z 
           WHERE  d.prodid = z.prodid 
                  AND z.pricedate <=#9/20/2016# 
           ORDER  BY z.pricedate DESC), c.quantity
ORDER BY d.prodname;
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311764
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,



Сейчас базу подготовлю, выложу, чтобы все желающие могли попробовать...
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311768
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База для тестов лежит здесь

http://korosteleff.narod.ru/infobase.mdb/
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311773
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База для тестов лежит здесь (последний слеш был лишним)

http://korosteleff.narod.ru/infobase.mdb
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311780
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евген987,

база битая
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311784
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,

попробуй снова, я перезаливал...
сейчас ещё архивом выложу...
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311788
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311789
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евген987mds_world, результат :-(Ошибка из-за того, что в условии подзапроса написано z .prodid, а группбае a .prodid. Разумеется будет ошибка, ведь z.prodid не в группировке
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311793
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

у тебя заработало ?
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311810
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартная задача учета товара по продажным ценам.
Стандартно решается путем "прайс-листа" на дату.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311814
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, согласен, так и пытаюсь решить, подтянуть цену по товару, которая была установленной на эту дату
Но не взлетает...
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311815
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, заработало при вот таком селекте
Код: sql
1.
2.
3.
4.
5.
SELECT a.prodid, d.produnit, d.prodname, (SELECT TOP 1 z.prodprice 
        FROM   products z 
        WHERE  a.prodid = z.prodid 
               AND z.pricedate <=#9/20/2016# 
        ORDER  BY z.pricedate DESC), c.quantity AS BegRem, SUM(Iif(b.opername = 'prihod' 


и удалении подзапроса из группбай
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311821
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

Блин !
Вот уж не туда я смотрел...
Спасибо ! Благодарю !!!
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311923
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Остатки вычисляет, работает как надо, всё супер!

Сейчас маюсь с запросом по расчёту движения товара (он в себя включает вычисление остатков на начало, расчёт движения товара по приходным/расходным операциям) и всё это в количественном и денежном выражении.

Не знаю, стоит ли сами запросы тут публиковать, они места много занимают.
Лучше опубликую базу, в ней лежат таблицы с данными и 2 запроса (до инжекта (проверенный рабочий вариант) и после инжекта подзапросов).
Что я сделал, удалил группировку по prodPrice, заменил везде prodPrice на соответствующий подзапрос:
1) При расчёте начальных остатков из прайса беру цену на соответствующую начало периода
2) при операциях в расчётном периоде, из прайса беру цену - соответствующую дате операции
и стало ругаться в запросе на то, что запрос не содержит дату операции как часть агрегатной функции
- но мне и не надо !!!

Попробовал включить её как агрегатную функцию - вообще дичь какую-то считает...

Вот база http://korosteleff.narod.ru/infobase.mdb

Модератор: Евген987, в дальнейшем выкладывайте примеры на форум, не заставляйте людей бегать по сайтам. Следующее такое вложение будет удалено
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311955
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, подскажите плиз, как выложить файл который даже в архиве занимает ~300 Кб.
Вот вижу что интерфейс предлагает прикреплять файлы размером не более 150Кб (не подходит).
Правила почитал, FAQ почитал - нет нужной инфы...
Может я всё-таки что-то пропустил ? (не хочу модера обижать, а то забанит...)
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311957
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многотомный архив.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311967
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евген987982183, согласен, так и пытаюсь решить, подтянуть цену по товару, которая была установленной на эту дату
Но не взлетает...
В отработанных решениях формируется прайс лист на весь ассортимент товара,
а не делаются диапазоны дат.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311968
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,
Мне кажется это излишне из-за части прайса дублировать всю таблицу...
Хотелось бы, и думаю получится общими усилиями заставить работать более гибкий вариант...
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311974
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе место жалко?
Прайс на остаток товара - вполне реальная штука.
+ отчеты и удобнее и быстрее будут делаться.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311977
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евген987Коллеги, подскажите плиз, как выложить файл который даже в архиве занимает ~300 Кб.

Оставь его на mail.ru, и укажи тут ссылку.
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39311994
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, вопрос пока остаётся открытым...
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1230430&msg=19687158
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39312116
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скурпулёзная сборка запроса с "нуля" дала свои результаты.
Запрос заработал, если кому интересно - вот он
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT a.prodID,d.prodName,
SUM(Iif(b.opername = 'realiz' AND b.operdate <#09/01/2016#, ((SELECT TOP 1 z.prodprice FROM   products z WHERE  a.prodid = z.prodid  AND  z.pricedate <=# 09 / 01 / 2016# ORDER  BY z.pricedate DESC)*b.quantity), 0)) AS Realiz
      
FROM   (((
(select prodID from remains WHERE salID=19
UNION
SELECT DISTINCT a.prodID FROM operations a, users b, crossbase c, products d WHERE  c.useFlag=1 AND c.salID=19 AND b.salID = c.salID AND c.basID=d.basID AND d.prodID=a.prodID) AS a
           LEFT JOIN operations AS b ON a.prodid = b.prodid)
          LEFT JOIN remains AS c ON a.prodid = c.prodid)
         LEFT JOIN products AS d ON a.prodid = d.prodid)
GROUP BY a.prodID,d.prodName
ORDER  BY d.prodname; 


Сейчас буду его наращивать до полного функционала весь следующий день
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39312164
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нихрена, рано поторопился отрапортовать о победе, как только фиксированную дату заменил на b.operDate, так и снова получил сообщение про часть агрегатной функции


Вопрос открыт...
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39312180
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вся загвоздка в b.operDate
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	var RS = MDB.OpenRecordset(	"SELECT \
						a.prodID, \ 
						d.prodName, \
						d.prodUnit, \
						(SELECT TOP 1 z.prodPrice FROM products z WHERE a.prodID=z.prodID AND z.priceDate<=#"+sqlBeginDate+"# ORDER BY z.priceDate DESC) AS prodPrice,\
						c.Quantity AS RNP, \
						ROUND((SELECT TOP 1 z.prodPrice FROM products z WHERE a.prodID=z.prodID AND z.priceDate<=#"+sqlBeginDate+"# ORDER BY z.priceDate DESC)*c.Quantity,2) AS RNPAmnt, \
						SUM(IIF(b.operName='realiz' AND b.operDate<#"+sqlBeginDate+"#, ((SELECT TOP 1 z.prodPrice FROM products z WHERE a.prodID=z.prodID AND z.priceDate<=#"+sqlBeginDate+"# ORDER BY z.priceDate DESC)*b.Quantity), 0)) AS Realiz, \
						SUM(IIF(b.operName='realiz' AND b.operDate BETWEEN #"+sqlBeginDate+"# AND #"+sqlEndDate+"#, ((SELECT TOP 1 z.prodPrice FROM products z WHERE a.prodID=z.prodID AND z.priceDate<=b.operDate ORDER BY z.priceDate DESC)*b.Quantity), 0)) AS PRealiz \
					FROM ((( \
						(SELECT prodID from remains WHERE salID=19 \
						UNION \
						SELECT DISTINCT a.prodID FROM operations a, users b, crossbase c, products d WHERE c.useFlag=1 AND c.salID=19 AND b.salID=c.salID AND c.basID=d.basID AND d.prodID=a.prodID) AS a \
						LEFT JOIN operations AS b ON a.prodid = b.prodid) \
						LEFT JOIN remains AS c ON a.prodid = c.prodid) \
						LEFT JOIN products AS d ON a.prodid = d.prodid) \
					GROUP BY \
						a.prodID, \
						d.prodName, \
						d.prodUnit, \
						c.Quantity \
					ORDER BY \
						d.prodname;");


Если b.operDate указан константой - то работает, как только приобретает значение поля - так нужна агрегация.

Нужен доктор !
...
Рейтинг: 0 / 0
Алгоритм расчёта ведомости движения товара
    #39312756
Евген987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос закрыт.
Задачу разбил на 2 более мелких запроса с промежуточной подготовкой данных в отдельной таблице.
Всё работает как часики.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Алгоритм расчёта ведомости движения товара
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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