将销售交易记录表中的项目添加为单笔交易

时间:2019-01-22 12:33:17

标签: database

我将Items个表分别作为(股票)和Sales Transaction,因此当我要出售ItemsSales Transaction中的商品时,将生成id(自动增加),并将用户添加的所有商品添加到销售中。
但这是一个问题,单个事务id如何连续具有多个项目,或者如何
Sales Transaction可以为每一行生成相同的id吗?

因此,即使我将每个项目插入Sales Transaction中,每个项目也会有不同的id,所以我将无法正确搜索报告。
这将影响功能。

我正在考虑将所有项目添加到这样的一行中:

enter image description here 那么还有其他方法可以解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

要添加列,您需要更改当前表:

ALTER TABLE "Sales Transaction"
ADD COLUMN TransactionNumber INT NOT NULL

当您插入此表时,您将需要以下内容:

DECLARE @TransNumber INT = (SELECT CASE WHEN MAX(TransactionNumber) IS NULL THEN 1 ELSE MAX(TransactionNumber) + 1 END FROM "Sales Transaction")

INSERT INTO "Sales Transaction" ("Item Name", Qty., Price, "Cust. Name", Tax, Discount, Total, TransactionNumber) 
VALUES
('Pen',1,10,'John Smith',0,0,10,@TransNumber),
('Pencil',2,7,'John Smith',0,0,14.00,@TransNumber)

由于两行的TransactionNumber都相同,因此您可以按此进行搜索。