Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2015, 12:11   #1
intelkotei5
Новичок
Джуниор
 
Регистрация: 30.07.2015
Сообщений: 2
Сообщение Движения продукта

У меня есть продукт (у каждой единицы продукта уникальный идентификатор), который пополняется ежемесячно, но так же часть из них продается.
Как мне построить таблицу, что бы я мог показать количество ежемесячно.
Например январь 2010 - продуктов 10, в феврале 2 продали, осталось 8 и прибавилось ещё 4, того стало 12.
При этом есть дата поступления в магазин и флаг продажи.

Заранее спасибо.
intelkotei5 вне форума Ответить с цитированием
Старый 30.07.2015, 12:49   #2
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

эм...
Есть таблица продуктов
Код:
Create table Goods(
Id int not null primary key,
title nvarchar(100) not null)
есть таблица приходов-расходов
Код:
create table GoodsMovement(
Id int not null primary key,
GoodId int not null references Goods(Id),
Quantity int not null,
Date datetime not null)
Всё остальное - выборки.
В первой таблице вы храните идентификатор товара, его название и прочую информацию по товару.

Во второй таблице вы храните движения товаров, где отрицательные величины - расход, положительные - приход. Дата - дата прихода-расхода.
"Продали в феврале" - выборка типа
Код:
Select g.Title, (select count(gm.Quantity) from GoodsMovement gm where gm.GoodId = g.Id And gm.Quantity <0) [Quantity] From Goods g

Последний раз редактировалось Akeloya; 30.07.2015 в 12:50. Причина: Мелкая правка выборки
Akeloya вне форума Ответить с цитированием
Старый 30.07.2015, 13:32   #3
intelkotei5
Новичок
Джуниор
 
Регистрация: 30.07.2015
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Akeloya Посмотреть сообщение
эм...
Есть таблица продуктов
Код:
Create table Goods(
Id int not null primary key,
title nvarchar(100) not null)
есть таблица приходов-расходов
Код:
create table GoodsMovement(
Id int not null primary key,
GoodId int not null references Goods(Id),
Quantity int not null,
Date datetime not null)
Всё остальное - выборки.
В первой таблице вы храните идентификатор товара, его название и прочую информацию по товару.

Во второй таблице вы храните движения товаров, где отрицательные величины - расход, положительные - приход. Дата - дата прихода-расхода.
"Продали в феврале" - выборка типа
Код:
Select g.Title, (select count(gm.Quantity) from GoodsMovement gm where gm.GoodId = g.Id And gm.Quantity <0) [Quantity] From Goods g
ок спасибо, попробую
intelkotei5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка программного продукта НиколайТ Общие вопросы по программированию, компьютерный форум 7 31.12.2015 15:35
Разработка программного продукта OkucHIuTeJIb Помощь студентам 9 12.11.2013 12:44
Создать приложение «Аптека», включающая следующую информацию: наименование продукта, дата выпуска, код продукта, поставщик, цена и Temaccc Помощь студентам 4 09.07.2013 20:39
Почему лицензионная версия продукта дороже чем пиратская версия продукта? multik Свободное общение 13 13.07.2008 14:40