Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
Внизрасчет остатка как приход-расход Найти похожие ветки
← →
gulya (2009-01-10 20:39) [0]Здравствуйте. Хотелось бы получить дельный совет по расчету остатка. Даны 2 таблицы: приход и расход товаров. Задача: вывести остатки товаров различного наименования.
Код программы следующий:
" select rashod.Katalog_nomer as Каталожный_номер ,"+
" rashod.Nazvanie_tovara as Наименование_товара, "+
" rashod.Ed_izmereniya as Единица_измерения, "+
" Sum(prihod.Kol_vo) as Приход, Sum(rashod.Kol_vo) as Расход, "+
" Sum(prihod.Kol_vo)-Sum(rashod.Kol_vo) as Остаток "+
" from rashod,prihod where "+
" (rashod.Katalog_nomer=prihod.Katalog_nomer) and "+
" (rashod.Ed_izmereniya=prihod.Ed_izmereniya) "+
" group by rashod.Katalog_nomer,rashod.Nazvanie_tovara,rashod.Ed_izmereniya "+
" union "+
" select prihod.Katalog_nomer as Каталожный_номер ,"+
" prihod.Nazvanie_tovara as Наименование_товара, "+
" prihod.Ed_izmereniya as Единица_измерения, "+
" Sum(prihod.Kol_vo) as Приход, Sum(0) as Расход, "+
" Sum(prihod.Kol_vo) as Остаток "+
" from prihod where not exists "+
" (select rashod.Katalog_nomer as Каталожный_номер,"+
" rashod.Nazvanie_tovara as Наименование_товара,"+
" rashod.Ed_izmereniya as Единица_измерения "+
" from rashod where "+
" (rashod.Katalog_nomer=prihod.Katalog_nomer) and "+
" (rashod.Ed_izmereniya=prihod.Ed_izmereniya) "+
" group by rashod.Katalog_nomer,rashod.Nazvanie_tovara,rashod.Ed_izmereniya )"+
" group by prihod.Katalog_nomer,prihod.Nazvanie_tovara,prihod.Ed_izmereniya ";
Не знаю почему, но значения поля расход удваиваются.
← →
Сергей М. © (2009-01-10 21:36) [1]
> gulya
Тебя кто-то надоумил хранить разные акты движения товаров в разных таблицах ? Или это собственное "ноу-хау" ?
← →
MsGuns © (2009-01-10 23:04) [2]Вы полагаете, что найдется много желающих разбирать этот жуткий код ?
Ну и в дополнение к [1]. Что будет, если появится новый вид документа, например "Возврат" - будете добавлять новую таблицу, переписывать все приложения и править все запросы ?
Кстати, возврат может быть отнесен как к приходу, так и к расходу (со знаком минус).
← →
Cobalt © (2009-01-11 13:16) [3]> gulya
Склад единственный?
← →
gulya (2009-01-11 15:24) [4]Да, склад единственный
← →
YurikGL © (2009-01-11 21:39) [5]
> Ну и в дополнение к [1]. Что будет, если появится новый
> вид документа, например "Возврат" - будете добавлять новую
> таблицу, переписывать все приложения и править все запросы
> ?
В дополнение к этому... если будут тысячи приходов и расходов, то при выводе состояния склада каждый раз подобный запрос выполняться будет?
ИМХО, сделать отдельную таблицу склада и считать в ней насколько что изменилось триггерами.
← →
gulya (2009-01-12 19:28) [6]спасибо за совет.С программой разобралась, работает.
← →
MsGuns © (2009-01-13 00:23) [7]>YurikGL © (11.01.09 21:39) [5]
Таблица сальдовых остатков.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c