好吧,我將盡我所能來解釋這種情況:查詢多對多的關係MySQL
我有一張桌子,比如杯子。我還有另一張桌子Liquids。它們之間有多對多的關係。
杯
- idcup
- 材料
液體
- idliquid
- 液體
Cup_Has_Liquid
- cup_idcup
- liquid_idliquid
舉例:A罩杯可以有 「水」, 「牛奶」, 「啤酒」 等
我怎麼會只選擇有「牛奶」和「水」的杯子?
謝謝
好吧,我將盡我所能來解釋這種情況:查詢多對多的關係MySQL
我有一張桌子,比如杯子。我還有另一張桌子Liquids。它們之間有多對多的關係。
杯
液體
Cup_Has_Liquid
舉例:A罩杯可以有 「水」, 「牛奶」, 「啤酒」 等
我怎麼會只選擇有「牛奶」和「水」的杯子?
謝謝
使用加入表。
這是一箇中間的表格,是兩者之間的混合體。 它將有一個複合主鍵,這兩個鍵鏈接到您嘗試加入的表上的每個主鍵。
即
液體表包含LiquidID,因爲它是PK。 杯子表包含CupID,因爲它是PK。
中間有一個Lines
表,它有一個複合主鍵。 該表中的關鍵字是:
LiquidID & CupID。
然後,您可以將加入表中的液體ID鏈接到液體表格,然後對另一個進入杯子的鍵執行相同的操作。 然後,您可以從連接表中引用液體ID和CupID。
我希望這會清除它,這是一個非常令人困惑的話題。
編輯: 看到這個鏈接的信息。 :)
http://www.joinfu.com/2005/12/managing-many-to-many-relationships-in-mysql-part-1/
編輯2
接合表可以像液體管線和您的查詢會是這樣的。
SELECT * FROM liquidLines其中丘比特= 1 AND LiquidID = 1,丘比特= 1 AND LiquidID = 2
使用此子查詢: -
「SELECT * FROM杯凡在(選擇液體在哪裏名稱='牛奶'和'水');「
名稱是表」液體「中的一列。
我想應該做的工作:)
有一個愉快的一天。
我知道,那不是我真正想問的。我在示例中比連接表的概念要求更多。 – user2827048
好的寫作解釋掛在 – Bigwater
我不認爲你理解我的問題。我已經在我的帖子中做過了。 – user2827048