Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Описание создания отчетов
--Просмотр информации обо всех товарах в группах в алфавитном порядке --Вывод: название группы, название товара, количество, ед.измерения if exists (select * from dbo.sysobjects where id = OBJECT_ID(N'View_good_alf') and OBJECTPROPERTY(id, N'IsProcedure')=1 ) drop procedure View_good_alf go CREATE procedure View_good_alf as SELECT P.name_group [Название группы], G.name_good [Название товара], G.quantity_good [Количество товара], G.ed_izm [Единица измерения] from Goods G JOIN Product_groups P on G.id_group=P.id_group order by P.name_group, G.name_good go --exec View_good_alf
--Просмотр информации обо всех товарах в группах по убыванию/возрастанию количества товаров --Вывод: название группы, название товара, количество, ед.измерения --Вывод по увеличению количества товаров в группе - 1 --Вывод по уменьшению количества товаров в группе - 2 if exists (select * from dbo.sysobjects where id = OBJECT_ID(N'View_good_kol') and OBJECTPROPERTY(id, N'IsProcedure')=1 ) drop procedure View_good_kol go CREATE procedure View_good_kol @i int as if @i=1 begin SELECT P.name_group [Название группы], G.name_good [Название товара], G.quantity_good [Количество товара], G.ed_izm [Единица измерения] from Goods G JOIN Product_groups P on G.id_group=P.id_group order by P.name_group, G.quantity_good end if @i=2 begin SELECT P.name_group [Название группы], G.name_good [Название товара], G.quantity_good [Количество товара], G.ed_izm [Единица измерения] from Goods G JOIN Product_groups P on G.id_group=P.id_group order by P.name_group, G.quantity_good desc end go --exec View_good_kol 1
--exec View_good_kol 2
--Просмотр информации обо всех товарах по убыванию/возрастанию количества товаров --Вывод: название товара, количество, ед.измерения --Вывод по увеличению количества товаров в группе - 1 --Вывод по уменьшению количества товаров в группе - 2 if exists (select * from dbo.sysobjects where id = OBJECT_ID(N'View_good_kol2') and OBJECTPROPERTY(id, N'IsProcedure')=1 ) drop procedure View_good_kol2 go CREATE procedure View_good_kol2 @i int as if @i=1 begin SELECT G.name_good [Название товара], G.quantity_good [Количество товара], G.ed_izm [Единица измерения] from Goods G order by G.quantity_good end if @i=2 begin SELECT G.name_good [Название товара], G.quantity_good [Количество товара], G.ed_izm [Единица измерения] from Goods G order by G.quantity_good desc end go
--Статистика поступления товаров по неделям с начала указанного года --Вывод: номер недели, название товара, количество поступления, количество продажи if exists (select * from dbo.sysobjects where id = OBJECT_ID(N'Stat_good_ned_d') and OBJECTPROPERTY(id, N'IsProcedure')=1 ) drop procedure Stat_good_ned_d go CREATE procedure Stat_good_ned_d @year date as SELECT DATEPART (ISO_WEEK, D.date_time_delivery) [Неделя поступления], G.name_good [Название товара], SUM(C.quantity) [Количество поступления] from Goods G JOIN Consignment_note C on G.id_good=C.id_good JOIN Deliveries D on C.id_cons_note=D.id_cons_note where D.date_time_delivery> @year group by DATEPART (ISO_WEEK, D.date_time_delivery), G.name_good go --exec Stat_good_ned_d '2013'
Проверяем правильность работы отчета:
--Добавляем поставки сделанные на одной неделе, для проверки работы отчета exec Add_delivery '2013-01-01 13: 55: 20', 5 exec Add_delivery '2013-02-01 13: 55: 20', 3 exec Add_delivery '2013-03-01 13: 55: 20', 4
--Для поставок, сделанных на одной неделе, делаем накладные на одинаковые товары, --для проверки работы отчета exec Add_cons_note 11, 12, 10, 123.00 exec Add_cons_note 11, 1, 3, 123.00 exec Add_cons_note 12, 12, 7, 63.00 exec Add_cons_note 12, 25, 8, 123.00 exec Add_cons_note 12, 1, 8, 43.00 exec Add_cons_note 13, 12, 1, 93.00
--Статистика продажи товаров по неделям с начала указанного года --Вывод: номер недели, название товара, количество поступления, количество продажи if exists (select * from dbo.sysobjects where id = OBJECT_ID(N'Stat_good_ned_s') and OBJECTPROPERTY(id, N'IsProcedure')=1 ) drop procedure Stat_good_ned_s go CREATE procedure Stat_good_ned_s @year date as SELECT DATEPART (ISO_WEEK, S.date_time_shipment) [Неделя отгрузки], G.name_good [Название товара], SUM(Z.quantity) [Количество продажи] from Goods G JOIN Zakaz Z on G.id_good=Z.id_good JOIN Shipments S on Z.id_zakaz=S.id_zakaz where S.date_time_shipment> @year group by DATEPART (ISO_WEEK, S.date_time_shipment), G.name_good order by DATEPART (ISO_WEEK, S.date_time_shipment), G.name_good go --exec Stat_good_ned_s '2011'
Проверяем правильность работы отчета:
--Добавляем продажи, сделанные на одной неделе, для проверки работы отчета exec Add_shipment '2011-06-12 16: 55: 18', 9 exec Add_shipment '2011-06-12 16: 55: 18', 7 exec Add_shipment '2011-06-12 16: 55: 18', 8
--Для продаж, сделанных на одной неделе, делаем заказы с одинаковыми товарами, --для проверки работы отчета exec Add_zakaz 10, 25, 1 exec Add_zakaz 10, 3, 1 exec Add_zakaz 10, 4, 1 exec Add_zakaz 11, 3, 1 exec Add_zakaz 11, 4, 1 exec Add_zakaz 12, 4, 1 exec Add_zakaz 12, 3, 1
|