Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Уменьшение количества товара после продажи  [new]
berry555
Member

Откуда:
Сообщений: 31
Есть таблица Товар, в ней ячейка Количество. Нужно чтобы после добавления определенного товара в корзину отнималось количество этого товара
24 май 17, 00:57    [20506156]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36697
https://www.sql.ru/forum/127456/rekomendacii-po-oformleniu-soobshheniy-v-forume , пункт 4 и пункт 6.
24 май 17, 01:00    [20506157]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
berry555
Member

Откуда:
Сообщений: 31
Гавриленко Сергей Алексеевич,

К сообщению приложен файл. Размер - 107Kb
24 май 17, 01:29    [20506170]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
berry555
Member

Откуда:
Сообщений: 31
Гавриленко Сергей Алексеевич,

К сообщению приложен файл. Размер - 11Kb
24 май 17, 01:29    [20506171]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
berry555
Member

Откуда:
Сообщений: 31
Гавриленко Сергей Алексеевич,
Visual Studio 2012, VB
24 май 17, 01:30    [20506172]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36697
Выковыряйте у себя кнопку Print Screen, пожалуйста, и выкиньте ее в окно. Ваши картинки никому не нужны. Нужны скрипты таблиц и данных в текстовом виде, чтобы каждый, кому придет в голову вам помогать, мог их скопировать себе. Так же нужны скрипты тестовых данных и желаемого результата.

Сообщение было отредактировано: 24 май 17, 02:13
24 май 17, 02:12    [20506189]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30825
berry555
Есть таблица Товар, в ней ячейка Количество. Нужно чтобы после добавления определенного товара в корзину отнималось количество этого товара
А в чём проблема?
Изменения данных делаются командой UPDATE
Просто отнимаете из поля с количеством нужное число.
24 май 17, 02:36    [20506205]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
berry555
Member

Откуда:
Сообщений: 31
Гавриленко Сергей Алексеевич,
+
create database Konsalt
use Konsalt
		Create table Поставщик(
		[Код_поставщика] int not null identity(1,1),
		[Наименование] varchar(30),
		[Цена] int,
		[Электронная_почта] varchar(30),
		[Факс] int,
		[Телефон] int,
		[Прайс_лист] varchar(30)
		constraint pk_codpos primary key([Код_поставщика])
		)
		create table Товар(
		[Код_товара] int not null identity(1,1),
		[Название] varchar(30),
		[Категория] varchar(30),
		[Цена] int,
		[Гарантия_мес] int,
		[Количество] int,
		[Характеристики] varchar(30),
		[Код_поставщика] int
		constraint pk_codtov primary key ([Код_товара])
		constraint fk_codpos foreign key([Код_поставщика])
		references Поставщик([Код_поставщика]) on update cascade on delete cascade,
		)
		create table Заказ(
		[Код_заказа] int not null identity(1,1),
		[Дата] datetime,
		[Код_товара] int,
		[Код_доставки] int,
		[Код_клиента] int,
		[Стоимость] int,
		[Количество] int,
		[Способ_оплаты] varchar(30),
		[Способ_получения] varchar(30), 
		[Номер_заказа] int
		constraint pk_codzak primary key ([Код_заказа])
		constraint fk_codtov foreign key([Код_товара])
		references Товар([Код_товара]) on update cascade on delete cascade,
		constraint fk_coddos foreign key([Код_доставки])
		references Доставка([Код_доставки]) on update cascade on delete cascade,
		constraint fk_codkli foreign key([Код_клиента])
		references Клиент([Код_клиента]) on update cascade on delete cascade,
		)
		create table Доставка(
		[Код_доставки] int not null identity(1,1),
		[Дата] datetime,
		[Время_доставки] int,
		[Стоимость] int,
		[Код_курьера] int,
		[Вид_доставки] varchar(30),
		[Номер_доставки] int,
		[Статус] varchar(30)
		constraint pk_coddos primary key([Код_доставки])
		constraint fk_codkur foreign key([Код_курьера])
		references Курьер([Код_курьера]) on update cascade on delete cascade,
		)
		create table Курьер(
		[Код_курьера] int not null identity(1,1),
		[ФИО] varchar(30),
		[Электронная_почта] varchar(30),
		[Телефон] int
		constraint pk_codkur primary key([Код_курьера])
		)
		create table Клиент(
		[Код_клиента] int not null identity(1,1),
		[ФИО] varchar(30),
		[Электронная_почта] varchar(30),
		[Адрес] varchar(30),
		[Телефон] int,
		[Код_оплаты] int
		constraint pk_codkli primary key([Код_клиента])
		constraint fk_codopl foreign key([Код_оплаты])
		references Оплата([Код_оплаты]) on update cascade on delete cascade,
		)
		create table Оплата(
		[Код_оплаты] int not null identity(1,1),
		[Способ_оплаты] varchar(30),
		[Сумма] int,
		constraint pk_codopl primary key([Код_оплаты])
		)
		create table Выручка(
		[Код_выручки] int not null identity(1,1),
		[Выручка_компании] int,
		constraint pk_codvir primary key([Код_выручки])
		)
		create table Корзина(
		[Код_корзины] int not null identity(1,1),
		[Наименование] varchar(30),
		[Цена] int
		constraint pk_codcor primary key([Код_корзины])
		)
		
		
insert into Поставщик([наименование],[Цена],[Электронная_почта],[Факс],[Телефон],[Прайс_лист]) values ('АО «НПФ «Радио-Сервис»',150,'radioser@gmail.com',+375178569874,+375296587742,'приборы электробезопасности')
insert into Поставщик([наименование],[Цена],[Электронная_почта],[Факс],[Телефон],[Прайс_лист]) values ('ООО НПФ «РАДИУС»',344,'radius@gmail.com',+375174521563,+375298856421,'устройства Сатурн')
insert into Поставщик([наименование],[Цена],[Электронная_почта],[Факс],[Телефон],[Прайс_лист]) values ('ООО «Фирма «ТЭТРА, LTD»',300,'tetraltd@gmail.com',+375172356321,+375296325478,'приборы для диагностики электрических машин')
insert into Поставщик([наименование],[Цена],[Электронная_почта],[Факс],[Телефон],[Прайс_лист]) values ('ООО «Связьприбор»',225,'svazpribor@gmail.com',+375178468214,+375295419872,'кабельные приборы')
insert into Поставщик([наименование],[Цена],[Электронная_почта],[Факс],[Телефон],[Прайс_лист]) values ('ООО «СКБ «Медрентех»',70,'medrenteh@gmail.com',+375177485123,+375296874589,'высоковольтные установки')

insert into Товар([Название],[Категория],[Цена],[Гарантия_мес],[Количество],[Характеристики],[Код_поставщика]) values ('Инвертор','Инверторы',120,12,1,'Преобразователь частоты 0,75 кВт',1)
insert into Товар([Название],[Категория],[Цена],[Гарантия_мес],[Количество],[Характеристики],[Код_поставщика]) values ('Вольтметр','Вольтметры',80,8,2,'В7-77 Вольтметр',2)
insert into Товар([Название],[Категория],[Цена],[Гарантия_мес],[Количество],[Характеристики],[Код_поставщика]) values ('Мультиметр','Мультиметры',232,6,1,'DT-105 МУЛЬТИМЕТР ЦИФРОВОЙ',3)
insert into Товар([Название],[Категория],[Цена],[Гарантия_мес],[Количество],[Характеристики],[Код_поставщика]) values ('Амперметр','Амперметры',140,14,4,'Амперметр Э8030-М1 50/5-2000/5',4)
insert into Товар([Название],[Категория],[Цена],[Гарантия_мес],[Количество],[Характеристики],[Код_поставщика]) values ('Омметр','Омметры',60,8,6,'Мегаомметр ЭС0210/2Г',5)

insert into Заказ ([Дата],[Код_товара],[Код_доставки],[Код_клиента],[Стоимость],[Количество],[Способ_оплаты],[Способ_получения],[Номер_заказа]) values ('22.08.2017',1,1,1,280,1,'Наличный','Самовывоз',1)
insert into Заказ ([Дата],[Код_товара],[Код_доставки],[Код_клиента],[Стоимость],[Количество],[Способ_оплаты],[Способ_получения],[Номер_заказа]) values ('12.10.2017',2,2,2,100,2,'Безналичный','Курьером',2)
insert into Заказ ([Дата],[Код_товара],[Код_доставки],[Код_клиента],[Стоимость],[Количество],[Способ_оплаты],[Способ_получения],[Номер_заказа]) values ('11.11.2017',3,3,3,88,1,'Безналичный','Курьером',3)
insert into Заказ ([Дата],[Код_товара],[Код_доставки],[Код_клиента],[Стоимость],[Количество],[Способ_оплаты],[Способ_получения],[Номер_заказа]) values ('07.07.2017',4,4,4,210,3,'Наличный','Самовывоз',4)
insert into Заказ ([Дата],[Код_товара],[Код_доставки],[Код_клиента],[Стоимость],[Количество],[Способ_оплаты],[Способ_получения],[Номер_заказа]) values ('04.06.2017',5,5,5,170,1,'Наличный','Курьером',5)

insert into Доставка([Дата],[Время_доставки],[Стоимость],[Код_курьера],[Вид_доставки],[Номер_доставки],[Статус]) values ('02.04.2017','12.40',240.20,1,'Самовывоз',1,'Активно')
insert into Доставка([Дата],[Время_доставки],[Стоимость],[Код_курьера],[Вид_доставки],[Номер_доставки],[Статус]) values ('06.12.2017','13.00',300.40,2,'Курьером',2,'Активно')
insert into Доставка([Дата],[Время_доставки],[Стоимость],[Код_курьера],[Вид_доставки],[Номер_доставки],[Статус]) values ('04.09.2017','10.30',120,3,'Курьером',3,'Активно')
insert into Доставка([Дата],[Время_доставки],[Стоимость],[Код_курьера],[Вид_доставки],[Номер_доставки],[Статус]) values ('04.21.2017','11.10',90.80,4,'Курьером',4,'Ожидание')
insert into Доставка([Дата],[Время_доставки],[Стоимость],[Код_курьера],[Вид_доставки],[Номер_доставки],[Статус]) values ('04.18.2017','18.00',220,5,'Самовывоз',5,'Активно')

insert into Курьер([ФИО],[Электронная_почта],[Телефон]) values ('Ковалевич.П.И','pavel.coval@gmail.com',+375298574563)
insert into Курьер([ФИО],[Электронная_почта],[Телефон]) values ('Скоробогатько.А.С','bogatko.skoro@gmail.com',+375296654123)
insert into Курьер([ФИО],[Электронная_почта],[Телефон]) values ('Алексеенко.В.Р','aleks.ko@gmail.com',+375298745412)
insert into Курьер([ФИО],[Электронная_почта],[Телефон]) values ('Шамкович.Ю.А','shamok.ura@gmail.com',+375294587419)
insert into Курьер([ФИО],[Электронная_почта],[Телефон]) values ('Джазневич.Н.И','djaz.jes@gmail.com',+375295568741)

insert into Клиент([ФИО],[Электронная_почта],[Адрес],[Телефон],[Код_оплаты]) values ('Навойчик.К.И','navoichik.kol@gmail.com','Ванеева 32,кв 22',+375294785214,1)
insert into Клиент([ФИО],[Электронная_почта],[Адрес],[Телефон],[Код_оплаты]) values ('Орловский.И.А','orlovski.ilya@gmail.com','Плехванова 21,кв 2',+375296932541,2)
insert into Клиент([ФИО],[Электронная_почта],[Адрес],[Телефон],[Код_оплаты]) values ('Васильев.Г.А','vasilyev.gen@gmail.com','Голубева 23,кв 55',+375294125874,3)
insert into Клиент([ФИО],[Электронная_почта],[Адрес],[Телефон],[Код_оплаты]) values ('Смирнов.П.В','smirnov.pavel@gmail.com','Гвардейская 41,кв 101',+375293254785,4)
insert into Клиент([ФИО],[Электронная_почта],[Адрес],[Телефон],[Код_оплаты]) values ('Винцеславов.Д.С','vinceslav.dima@gmail.com','Ложинская 17,кв 205',+375293698745,5)

insert into Оплата([Способ_оплаты],[Сумма]) values ('Наличный',320.40)
insert into Оплата([Способ_оплаты],[Сумма]) values ('Наличный',620.90)
insert into Оплата([Способ_оплаты],[Сумма]) values ('Безналичный',220.30)
insert into Оплата([Способ_оплаты],[Сумма]) values ('Безналичный',90.80)
insert into Оплата([Способ_оплаты],[Сумма]) values ('Наличный',60)
				

	


Сообщение было отредактировано: 25 май 17, 00:02
24 май 17, 04:19    [20506239]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20222
berry555
Нужно чтобы после добавления определенного товара в корзину отнималось количество этого товара
А после корректировки в корзине - снова изменять? а при удалении корзины - восстанавливать? а не дофига ли геморрою?

Остаток должен считаться запросом, а не храниться где-то и пересчитываться на каждый чих.
24 май 17, 07:48    [20506324]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30825
Akina
berry555
Нужно чтобы после добавления определенного товара в корзину отнималось количество этого товара
А после корректировки в корзине - снова изменять? а при удалении корзины - восстанавливать? а не дофига ли геморрою?

Остаток должен считаться запросом, а не храниться где-то и пересчитываться на каждый чих.
Вообще то это более простой и быстрый способ - хранить остатки. В самом простом случае - хранить в таблице справочника товаров.
Для настоящих складских систем способ слишком примитивный, но для курсовика сойдёт.
24 май 17, 08:44    [20506378]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение количества товара после продажи  [new]
berry555
Member

Откуда:
Сообщений: 31
Akina,
не подскажете как это реализовать?
24 май 17, 11:23    [20507034]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить