[英]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.