一个表,里面有物料信息、库存、需求、缺货数量、时间,一个物料在不同时间内会有不同的需求,库存是定值,求缺货数量,用MySQL怎么写?
时间: 2024-05-12 22:21:08 浏览: 130
用友生产订单缺料表
5星 · 资源好评率100%
可以创建一个名为"inventory"的表,包含以下字段:
- id: 物料编号
- time: 时间
- demand: 需求量
- stock: 库存量
- shortage: 缺货数量
可以使用以下语句创建该表:
```
CREATE TABLE inventory (
id INT NOT NULL,
time DATETIME NOT NULL,
demand INT NOT NULL,
stock INT NOT NULL,
shortage INT NOT NULL,
PRIMARY KEY (id, time)
);
```
然后,可以使用INSERT语句向表中添加物料信息、库存和需求信息:
```
INSERT INTO inventory (id, time, demand, stock, shortage)
VALUES (1, '2021-01-01 00:00:00', 10, 20, 0),
(1, '2021-02-01 00:00:00', 15, 20, 0),
(1, '2021-03-01 00:00:00', 5, 20, 0),
(2, '2021-01-01 00:00:00', 8, 15, 0),
(2, '2021-02-01 00:00:00', 12, 15, 0),
(2, '2021-03-01 00:00:00', 20, 15, 0);
```
最后,可以使用以下语句计算每个物料在每个时间点的缺货数量:
```
UPDATE inventory
SET shortage = CASE WHEN demand > stock THEN demand - stock ELSE 0 END;
```
该语句会根据需求量和库存量计算出缺货数量,并将结果更新到"shortage"字段中。如果需求量小于等于库存量,则缺货数量为0。
阅读全文