SQL难的说法

时间:2016-09-12 07:13:25

标签: mysql sql database

目前我正在寻找解决方案。英语不是我的母语,所以我添加了两张图片来澄清一下。我对SQL的了解非常基础。

Table Database

椅子(最终产品)包含多个组件。
每个组件包含一个项目编号,每个备件组包含多个项目编号。
在数据库中,一个备用组件与最终产品。
椅子和备件分为不同的组。

是否可以创建这样的表?如果有可能如何?

提前致谢!

2 个答案:

答案 0 :(得分:1)

这将是我的方法:

Table: Products  -- a table of products
ProductID  ProductName  DateAdded
1          Chair X      01/01/2016
2          Chair Y      05/05/2016
3          Spare Set A  06/06/2016
...

Table: Components  -- a table of components
ComponentID  ComponentName  ItemNumber  DateAdded
1            Backrest       X01         01/01/2016
2            Headrest       X02         01/01/2016
...

Table: ProductComponent  -- a lookup/mapping table to link Product and Component
PCID  ComponentID  ProductID  DateAdded
1     1            1          01/01/2016
2     2            1          01/01/2016
...

DateAdded是产品或组件首次输入数据库的日期。它是出于审计目的。

答案 1 :(得分:0)

下面的查询使用标准SQL生成这样的支点 并且还应该在MySQL中工作。

它基于JohnHC的答案中的表格布局 (无论如何都会这样做。使用映射表是一种常见的非规范化方法。)

{{1}}