0
我管理一个记录库存物料价格和数量变化的系统。使用sql根据日期差异选择记录
表是这样的:
STOCK(ID, DATE, QUANTITY, PRICE)
(1, 2013.01.07 00:00, 9, 6)
(1, 2013.01.02 00:00, 9, 5)
(1, 2013.01.01 00:00, 10, 5)
(2, 2013.01.07 22:00, 20, 10)
(2, 2013.01.07 00:00, 24, 10)
(3, 2013.01.02 00:00, 9, 5)
(3, 2013.01.01 00:00, 10, 5)
返回超过1天的时间内改变应该返回信息的最新历史记录的项目,并为不同的最多的历史记录信息的查询从它1天(或本身如果都没有):
STOCK(ID, DATE_BEFORE, DATE_AFTER, QUANTITY_BEFORE, QUANTITY_AFTER, PRICE_BEFORE, PRICE_AFTER)
(1, 2013.01.07 00:00, 2013.01.07 00:00, 9, 9, 6, 6)
(2, 2013.01.07 00:00, 2013.01.07 22:00, 24, 20, 10, 10)
(3, 2013.01.01 00:00, 2013.01.02 00:00, 10, 9, 5, 5)
返回在1周时间内的变化应该返回信息的最新历史记录的项目和历史记录中的不同信息的查询最多7 da (或者本身如果没有):
STOCK(ID, DATE_BEFORE, DATE_AFTER, QUANTITY_BEFORE, QUANTITY_AFTER, PRICE_BEFORE, PRICE_AFTER)
(1, 2013.01.01 00:00, 2013.01.07 00:00, 10, 9, 5, 6)
(2, 2013.01.07 00:00, 2013.01.07 22:00, 24, 20, 10, 10)
(3, 2013.01.01 00:00, 2013.01.02 00:00, 10, 9, 5, 5)
我希望这是足够清晰的,因为我知道这不是一个容易的话题。
期待听到您的意见。
由于提前,
^h
的数据库您使用的,什么你尝试过这么远吗? – 2013-05-09 09:14:49
什么是表格唯一键?并且它看起来像缺少ID = 1的第2行和第3行的“一天”结果的输出行 – gbn 2013-05-09 09:16:01
@Ian Kenney您好。我正在使用超音速2.2.9 – user2365532 2013-05-09 09:39:52