table 可以在单行中有单列的多条记录吗?
Can a table have multiple records of a single column in a single row?
有一个 table 'items' 列:item_name、i_code、items_left 和价格。它存储商店出售的所有物品。还有一个table'customers'。它存储访问商店的所有顾客的记录。我想记录特定客户购买的所有商品。我想在 'customers' table 中创建一个列 'items_bought',用于存储特定客户购买的所有商品的商品代码。但是对于一个特定的客户行拥有多个项目代码是不可能的。请帮助我在单行客户中获得 items_bought 的多个记录。
这是可能的,但不建议,
您可以使用
或逗号或 environment.newline
将商品代码保存在客户 table 中
但是除了显示没有任何用处
我建议的解决方案是创建一个新的 table CustomerItem,具有 CustomerId、ItemId 和其他公共属性,应该在 Customer 和 Item 之间,如购买率、购买时间等(您不能在上面的方法中这样做) )
答案是,是的,您可以在每一行的单个字段中有多个值。逗号分隔的字段可能是一个解决方案。
如果您使用的是关系数据库,那么如果您创建一个新的 table,比方说 items_bought
,它将保存客户与购买的商品之间的关系,您的生活会更轻松。
例如
create table `items_bought`
(id int not null primary key,
item_id int not null,
customer_id int not null)
每个字段 item_id
和 customer_id
将分别有 items.id
和 customers.id
table 字段的外键。
这样您就不需要管理字符串和解析逗号分隔值。您可以简单地查询您的 table,例如:
select *
from `items` i
inner join `items_bought` ib on i.id = ib.item_id
inner join `customers` c on ib.customer_id = c.id
以上查询将 return 已购买至少一件商品的客户的所有客户和商品信息。
有一个 table 'items' 列:item_name、i_code、items_left 和价格。它存储商店出售的所有物品。还有一个table'customers'。它存储访问商店的所有顾客的记录。我想记录特定客户购买的所有商品。我想在 'customers' table 中创建一个列 'items_bought',用于存储特定客户购买的所有商品的商品代码。但是对于一个特定的客户行拥有多个项目代码是不可能的。请帮助我在单行客户中获得 items_bought 的多个记录。
这是可能的,但不建议,
您可以使用
或逗号或 environment.newline
但是除了显示没有任何用处
我建议的解决方案是创建一个新的 table CustomerItem,具有 CustomerId、ItemId 和其他公共属性,应该在 Customer 和 Item 之间,如购买率、购买时间等(您不能在上面的方法中这样做) )
答案是,是的,您可以在每一行的单个字段中有多个值。逗号分隔的字段可能是一个解决方案。
如果您使用的是关系数据库,那么如果您创建一个新的 table,比方说 items_bought
,它将保存客户与购买的商品之间的关系,您的生活会更轻松。
例如
create table `items_bought`
(id int not null primary key,
item_id int not null,
customer_id int not null)
每个字段 item_id
和 customer_id
将分别有 items.id
和 customers.id
table 字段的外键。
这样您就不需要管理字符串和解析逗号分隔值。您可以简单地查询您的 table,例如:
select *
from `items` i
inner join `items_bought` ib on i.id = ib.item_id
inner join `customers` c on ib.customer_id = c.id
以上查询将 return 已购买至少一件商品的客户的所有客户和商品信息。