我希望得到一些指导,这将指导我在平衡库存和到期日的正确方向。 我想知道每种味道中有多少味道'我已经留下了库存和库存的到期日期。
我的采购订单表中收到的所有商品(风味)都带有时间戳,我记录到期日期(即数量300 exp_date 7/04/14,数量200 exp_date 7/14/14)。
所有订单(每种口味)都经过处理和加盖时间戳(数量2 6/27/14 ......),因此我可以总结在给定日期/周内处理的订单或其他任何内容。
什么是最好的解决方案(临时表,查询或其他)可以识别并允许我显示我有数据98 w / exp_date为7/04和数量200 w / exp日期为7/14从上面的例子中显示实时?
这是架构....
-- Table structure for table `flavor`
--
CREATE TABLE `flavor` (
`id` int(4) NOT NULL auto_increment,
`pfamily` int(5) NOT NULL,
`model` varchar(10) NOT NULL,
`UPC` varchar(17) default NULL,
`active_flavor` tinyint(1) NOT NULL default '1',
`description` varchar(150) NOT NULL,
`price` decimal(7,2) NOT NULL,
`priority` tinyint(2) default NULL,
`weight` decimal(6,3) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='flavors' AUTO_INCREMENT=892 ;
-- Table structure for table `orders`
--
CREATE TABLE `orders` (
`id` int(6) NOT NULL auto_increment,
`customer_id` int(3) NOT NULL,
`owner_id` int(3) NOT NULL,
`ordnum` int(10) NOT NULL,
`orddate` int(6) NOT NULL,
`buyer` varchar(50) NOT NULL,
`model` varchar(10) NOT NULL,
`f_id` int(4) NOT NULL default '0',
`ord_qty` int(3) NOT NULL,
`quantity` int(3) NOT NULL,
`wh_price` decimal(7,2) NOT NULL,
`invoice_price` decimal(7,2) default '0.00',
`last_updated` int(10) default '0',
`RMA` tinyint(1) default '0',
`RMA_num` int(10) default '0',
`RMA_qty` int(3) default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=269339 ;
-- Table structure for table `p_orders`
--
CREATE TABLE `p_orders` (
`id` int(6) NOT NULL auto_increment,
`vendor_id` int(3) NOT NULL,
`owner_id` int(3) NOT NULL,
`p_ordnum` int(10) NOT NULL,
`p_orddate` int(6) NOT NULL,
`f_id` int(4) NOT NULL,
`model` varchar(10) NOT NULL,
`quantity` int(3) NOT NULL,
`qty_rcvd` int(3) default '0',
`GR` tinyint(1) default '0',
`exp_date` date default '0000-00-00',
`date_rcvd` date default '0000-00-00',
`u_date_rcvd` int(10) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9216 ;
对一个模型使用简单查询
SELECT flavor.id, flavor.model,orders.orddate,orders.quantity
FROM flavor
left join orders on orders.f_id = flavor.id
WHERE flavor.id = '1'
我收到了订单
id model orddate quantity
1 1000-0001 140622 1
1 1000-0001 140622 1
1 1000-0001 140622 15
1 1000-0001 140622 1
1 1000-0001 140622 1
1 1000-0001 140622 1
1 1000-0001 140622 2
1 1000-0001 140622 2
1 1000-0001 140623 1
1 1000-0001 140623 1
1 1000-0001 140623 2
1 1000-0001 140624 1
1 1000-0001 140624 1
现在进入库存的内容,每个都有不同的到期日期
id model p_orddate quantity
1 1000-0001 140615 90
1 1000-0001 140622 72
订单的总和= 80 p_orders的总和= 162
所以输出应该是我剩下的10个,剩余的是6/15发货的到期日期,72个剩下的是6/22发货的到期日期。我希望这能更好地解释