关于订单扣减的问题

amazeyeli 2018-07-26 11:46:29
USE tempdb 
GO
IF OBJECT_ID('订单表') IS NOT NULL
DROP TABLE 订单表;
GO
CREATE TABLE 订单表
(
订单号 CHAR(8),
下单日期 DATE,
产品 CHAR(15),
订单数量 INT,
订单余数 INT
);
GO
INSERT INTO 订单表 VALUES --订单数量<>订单余数表示该产品之前有销售过
('MD180090','2018-04-03','BH14-084-099-05',600,295),
('MD180091','2018-04-03','BH14-084-099-18',700,248),
('MD180147','2018-06-02','BH14-084-099-18',400,400),
('MD180148','2018-06-02','BH14-084-099-05',500,500);
GO
SELECT * FROM 订单表;

IF OBJECT_ID('销售表') IS NOT NULL
DROP TABLE 销售表;
GO
CREATE TABLE 销售表
(
销售日期 DATE,
销售单号 CHAR(10),
产品 CHAR(15),
销售数量 INT
);
GO
INSERT INTO 销售表 VALUES --同一天同一产品销售单号为个位数,不超过十位数
('2018-07-09','4212345704','BH14-084-099-05',112),
('2018-07-09','4212345704','BH14-084-099-18',102),
('2018-07-09','4212345710','BH14-084-099-05',112),
('2018-07-09','4212345710','BH14-084-099-18',102),
('2018-07-09','4212345716','BH14-084-099-05',186),
('2018-07-09','4212345716','BH14-084-099-18',170),
('2018-07-09','4212345722','BH14-084-099-05',92),
('2018-07-09','4212345722','BH14-084-099-18',84),
('2018-07-09','4212345728','BH14-084-099-05',118),
('2018-07-09','4212345728','BH14-084-099-18',107);
GO
SELECT * FROM 销售表;
----------------------------------------
--运行结果参考如下,对同一产品,不同的销售单号分配到各个订单中去,销售单号可以随意分配,
--如:MD180090单295件产品可以分配为(04单112件+10单112件+16单71件),也可以按下面这样分配
--无论如何,对于同一产品订单号一定要先进先出
----------------------------------------
/*
销售日期 订单号 销售单号 产品 数量
2018-7-9 MD180091 4212345728 BH14-084-099-18 107
2018-7-9 MD180091 4212345704 BH14-084-099-18 102
2018-7-9 MD180091 4212345710 BH14-084-099-18 86
2018-7-9 MD180147 4212345710 BH14-084-099-18 16
2018-7-9 MD180147 4212345716 BH14-084-099-18 170
2018-7-9 MD180147 4212345722 BH14-084-099-18 84
2018-7-9 MD180090 4212345728 BH14-084-099-05 118
2018-7-9 MD180090 4212345704 BH14-084-099-05 112
2018-7-9 MD180090 4212345710 BH14-084-099-05 18
2018-7-9 MD180148 4212345710 BH14-084-099-05 94
2018-7-9 MD180148 4212345716 BH14-084-099-05 186
2018-7-9 MD180148 4212345722 BH14-084-099-05 92
*/
...全文
175 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
amazeyeli 2018-07-27
  • 打赏
  • 举报
回复
引用 1 楼 cftxlin 的回复:
结果的前三行,对应的订单号是否应该是MD180090这个,你这个逻辑上才是通的呢?


产品BH14-084-099-18在订单表中订单号是MD180091数量是248,和MD180147数量是400
  • 打赏
  • 举报
回复
/*
销售日期    订单号    销售单号    产品    数量
2018-7-9    MD180091    4212345728    BH14-084-099-18    107
2018-7-9    MD180091    4212345704    BH14-084-099-18    102
2018-7-9    MD180091    4212345710    BH14-084-099-18    86
2018-7-9    MD180147    4212345710    BH14-084-099-18    16
2018-7-9    MD180147    4212345716    BH14-084-099-18    170
2018-7-9    MD180147    4212345722    BH14-084-099-18    84
2018-7-9    MD180090    4212345728    BH14-084-099-05    118
2018-7-9    MD180090    4212345704    BH14-084-099-05    112
2018-7-9    MD180090    4212345710    BH14-084-099-05    18
2018-7-9    MD180148    4212345710    BH14-084-099-05    94
2018-7-9    MD180148    4212345716    BH14-084-099-05    186
2018-7-9    MD180148    4212345722    BH14-084-099-05    92
*/
结果的前三行,对应的订单号是否应该是MD180090这个,你这个逻辑上才是通的呢?
家政服务中介网的主要实现功能包括:管理员:首页、个人中心、用户管理、家政公司管理、用户资金账户管理、用户资金扣减管理、用户资金入账管理、家政公司充值管理、家政公司账户管理、家政公司资金扣减管理、家政公司资金入账管理、用户充值管理、服务分类管理、家政服务管理、服务订单管理、互动交流管理、订单状态申请管理、留言板管理、系统管理功能家政服务中介网的主要实现功能包括:管理员:首页、个人中心、用户管理、家政公司管理、用户资金账户管理、用户资金扣减管理、用户资金入账管理、家政公司充值管理、家政公司账户管理、家政公司资金扣减管理、家政公司资金入账管理、用户充值管理、服务分类管理、家政服务管理、服务订单管理、互动交流管理、订单状态申请管理、留言板管理、系统管理功能家政服务中介网的主要实现功能包括:管理员:首页、个人中心、用户管理、家政公司管理、用户资金账户管理、用户资金扣减管理、用户资金入账管理、家政公司充值管理、家政公司账户管理、家政公司资金扣减管理、家政公司资金入账管理、用户充值管理、服务分类管理、家政服务管理、服务订单管理、互动交流管理、订单状态申请管理、留言板管理、系统管理功能家政服务中介网的

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧