如何在一列SQL中存储多个值

时间:2018-12-18 04:49:41

标签: mysql sql

因此,我正在为自己的业务设置一个Web应用程序,我需要记录三件事,这三件事是商品批号,零件号以及胶水重量。批号和零件号已完成,但我需要有一个胶水重量表,该表存储该产品每小时产生的胶水重量。

基本上,我想问一个人如何只为一列存储多个胶水重量条目?

例如。
批号:12345 零件编号:1234 批号1234的胶水重量: 1.07 2.07 1.56 1.45(以此类推……每小时产生物品)

2 个答案:

答案 0 :(得分:2)

您可以通过多种方式在一列中存储多个值;但是可能会有更好的解决方案。

例如,如果使列能够容纳较大的字符串,则可以将数据存储为CSV,制表符分隔,XML,JSON等。但是,通过这样存储数据,将很难在编写SQL查询时检查该数据。幸运的是,使数据库如此强大的原因是它们如何关联数据。

对于您的情况,您要针对批号和零件号的一种组合存储多个权重。这称为一对多关系。您将拥有一张用于批号和零件号的表,其中每一行都有一个唯一的标识符(这将是此表的主键)。

另一张表将存储权重,另一张表中的每一行的每一权重对应一行。第二个表中的每一行通过在第二个表中具有包含来自第一个表的唯一标识符列中的值的列(称为外键)来引用第一个表中的特定行。

完成此操作后,您的数据现在已标准化。您现在可以使用 join 将数据合并在一起。并使用集合来查找诸如SUM,MIN,MAX等之类的内容。

答案 1 :(得分:1)

这是一个粗略的例子:

产品表:

id | lot_number | part_number
1  | 12345      | 1234
2  | 56789      | 5567

体重表

id | product_id | weight | date_time
1  | 1          | 1.07   | 2001-01-02 12:25:12
2  | 1          | 2.07   | 2001-01-02 13:25:12
3  | 1          | 1.56   | 2001-01-02 14:25:12
4  | 1          | 1.45   | 2001-01-02 15:25:12
5  | 2          | 1.07   | 2001-01-02 12:25:12
6  | 2          | 2.07   | 2001-01-02 13:25:12
7  | 2          | 1.56   | 2001-01-02 14:25:12
8  | 2          | 1.45   | 2001-01-02 15:25:12

现在从“体重”表中进行SQL查询,以获取每小时的所有体重测量值。