我挣扎着,希望你能帮助我!该应用程序是MS ACCESS中用于时装零售的ERP系统。
问题:如何在 Table3 中添加一行,并根据文章的大小系统填写文章相应的SizeID1,SizeID2等表2 ?
表1 :包含尺寸系统的文章详情
ArticleID | SizeType
--------------------
1 | US
2 | EU
表2 :不同地区的不同规模系统
SizeID | Size | SizeType
------------------------
1 | S | US
2 | M | US
3 | L | US
4 | XL | US
5 | 36 | EU
6 | 38 | EU
7 | 40 | EU
表3 :订单详情
OrderID | ArticleID | Size1 | Amount1 | Size2 | Amount2 | Size3 | Amount3
-------------------------------------------------------------------------
1 | 1 | S | 1 | M | 3 | L | 1
2 | 2 | 36 | 2 | 38 | 1 | 40 | 3
3 | 2 | 36 | | 38 | | 40 |
OrderID = 3的行是ArticleID 2的insery查询的目标。然后我可以输入相应大小的金额。谢谢你的帮助!!
答案 0 :(得分:0)
您在此处尝试实现的目标并不完全清楚,但我认为这可能是因为您的数据库设计有点破碎。
您可能习惯使用电子表格,因为您似乎已将Table3
设计为电子表格。任何时候你最终在数据库表中重复字段(例如,Size1,Size2,Size3 ....),那么它就是你需要更多标准化的标志。
请阅读数据库规范化:http://www.studytonight.com/dbms/database-normalization.php(以及谷歌一般用于数据库规范化以获取更多信息)。
我怀疑你需要更像这样的东西:
文章表:
ArticleID | ArticleName | SizeType(FK to SizeType table)
1 | Blue T-shirt | 1
2 | Red T-shirt | 2
SizeType表:
SizeTypeID | SizeTypeDescription
1 | US
2 | EU
尺寸表:
SizeID | SizeType(FK) | SizeDescription
1 | 1 | 38
2 | 1 | 40
3 | 2 | M
4 | 2 | L
项目表:
ItemID | ArticleID(FK) | SizeID(FK)
1 | 1 | 1 'Blue T-shirt size 38
2 | 1 | 2 'Blue T-shirt size 40
3 | 2 | 3 'Red T-shirt size M
4 | 2 | 4 'Red T-shirt size L
订单表:
OrderID | CustomerID (FK) | OrderDate | etc. (other info you need to store about an order)
1 | 2458 | 01/01/2001|
2 | 3452 | 02/02/2002|
订单明细表:
OrderDetailsID | OrderID(FK) | ItemID (FK) | Quantity
1 | 1 | 3 | 6
2 | 1 | 4 | 3
3 | 2 | 1 | 1
所以在这里连接所有东西,ID 2458的顾客订购了6x尺寸M红色T恤和3x尺寸L红色T恤,ID为3452的顾客订购了1x尺寸38蓝色T恤。
注意您还可以在Items表中实际拥有PRICE
字段(如果价格因项目大小而异)或在Article表中(如果每种尺寸的价格相同)。 CustomerID还会链接回包含客户详细信息的表格(姓名,地址,用户名/密码等)。
您可能还有其他我未在此处展示的内容,例如在您的文章表或您的项目表中,您可能会有一个supplierID,告诉您从哪个商店购买该商品,如以及vendorItemNo,它是一个唯一的代码(条形码?),用于订购该项目。
一旦数据库结构正确,编写查询以插入记录等就会容易得多。