在SQL中有一个表,其中一列可以有多个值

时间:2015-09-12 23:44:09

标签: sql relational-database

我正在尝试使用SQL代码在NetBeans中创建一个表,并且想知道如何将多个项分配给一个列。我尝试在insert语句中使用NULL,但这不起作用。

我的意思是,零售商只能在第一列中列出一次,但在下一列中有3个值作为与零售商关联的项目。

2 个答案:

答案 0 :(得分:2)

根据您的说明:

  • 该数据库有2个零售商:InfoWare和SoftwareLand
  • 每个零售商都有一个或多个商品
  • 项目跟踪已售出的次数

...使用单个表和多列构建数据库不是正确的解决方案。常见的关系数据库模式是拥有零售商表:

[Retailers table]
int RetailerID (primary key)
string Name

还有一个项目表:

[Items table]
int ItemID (primary key)
int RetailerID (foreign key)
string Name
int QuantitySold

由于外键关系,每个项目“属于”零售商。这是一个比每个项目都有一个列更好的设计 - 这是关系数据库的一个糟糕的反模式。

答案 1 :(得分:1)

如果我是你,我会为每个表添加一个id列,然后允许进行连接。为了实现这一点,您需要编辑现有的表以允许外键加入新表,例如“已售出的产品”,这两个表将链接其他两个表。然后可以使用'计数'来计算销售额。命令。