[英]Querying many-to-many relationship MySQL
好的,我将尽力解释这种情况:
我有一张桌子,例如,杯子。 我还有另一桌液体。 它们之间存在多对多的关系。
杯子
液体
Cup_Has_Liquid
示例:杯子可以有“水”,“牛奶”,“啤酒”等。
我如何只选择既有“牛奶”又有“水”的杯子?
谢谢
使用联接表。
那是中间的一张桌子,是两者之间的混合体。 它会有一个复合主键,这两个键链接到您要联接的表上的每个主键。
即
液体表包含LiquidID作为PK。 Cups表包含CupID作为PK。
在中间,您有一个Lines
表,它有一个复合主键。 该表中的键是:
LiquidID和CupID。
然后,您可以将连接表中的液体ID链接到液体表,并对要连接到杯子的其他键执行相同的操作。 然后,您可以从联接表中引用液体ID和CupID。
我希望这可以解决,这是一个非常令人困惑的话题。
编辑:请参阅此链接以获取信息。 :)
http://www.joinfu.com/2005/12/managing-many-to-many-relationships-in-mysql-part-1/
编辑2
联接表可以是诸如实线之类的东西,而您的查询将是这样的。
选择* FROM liquidLines,其中CupID = 1 AND LiquidID = 1 OR CupID = 1 AND LiquidID = 2
使用此子查询:
“从杯子里选择*(选择名称='牛奶'和'水'的液体);”
名称是表“ Liquids”中的一列。
我想那应该做的工作:)
祝你今天愉快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.