加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

具有其他表的多个id的SQL字段

发布时间:2020-12-12 06:46:53 所属栏目:MsSql教程 来源:网络整理
导读:有人可以告诉我如何创建这个数据库结构. 这是一个例子: Table "countries":id,countryname1,"US"2,"DE"3,"FR"4,"IT" 现在我有另一个表“产品”,在那里我想存储这个产品可用的所有国家: Table "products":id,productname,countries1,"product1",(1,2,4) // a
有人可以告诉我如何创建这个数据库结构.
这是一个例子:
Table "countries":
id,countryname
1,"US"
2,"DE"
3,"FR"
4,"IT"

现在我有另一个表“产品”,在那里我想存储这个产品可用的所有国家:

Table "products":
id,productname,countries
1,"product1",(1,2,4) // available in countries US,DE,IT.
2,"product2",(2,3,4) // available in countries DE,FR,IT.

我的问题:
如何在“产品”中设计表结构以便能够存储多个国家/地区?

我最好的想法是在那里放一个以逗号分隔的字符串(即“1,4”),然后拆分该字符串以查找每个条目.但我怀疑这是最好的方法吗?

编辑:谢谢大家的帮助,太棒了!很难选择正确的答案,
我最终选择了Gregs因为他向我指了一个JOIN解释并给出了一个如何使用它的例子.

解决方法

您需要一个与该 many-to-many关系的交集表.
Table Country
CountryID,CountryName

Table CountryProduct
CountryID,ProductID

Table Product
ProductID,ProductName

然后你将Inner Join所有3个表格都列入国家和地区列表产品.

Select * From Country 
Inner Join CountryProduct On Country.CountryID = CountryProduct.CountryID 
Inner Join Product On CountryProduct.ProductID = Product.ProductID

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读