2017-03-23 44 views
1

DB MODEL查詢多對多當3個表連接到結

我這是按照上述順序連接現在我想選擇樣式名稱從樣式表型號。案例1:我想要的風格名稱都是相交的類別和性別
案例2:我想只與性別相交的樣式名稱不分類別。

我是SQL的新手有沒有任何有效的方法來獲得所需的結果使用SQL JOINS。任何在這種情況下的幫助將不勝感激,或有任何建模解決方案來處理這種類型的情況。

回答

0

這裏是你將如何加入你的表:

SELECT * 
FROM `style` 
    INNER JOIN `StyleCategoryGender` ON `StyleCategoryGender`.`SID` = `style`.`Code` 
    INNER JOIN `StyleCategoryGender` ON `Category`.`Code` = `StyleCategoryGender`.`GID` 
    INNER JOIN `StyleCategoryGender` ON `Gender`.`Code` = `StyleCategoryGender`.`CID` 

那麼你可以添加WHERE條款需要

SELECT * 
FROM `style` 
    INNER JOIN `StyleCategoryGender` ON `StyleCategoryGender`.`SID` = `style`.`CODE` 
    INNER JOIN `StyleCategoryGender` ON `Category`.`Code` = `StyleCategoryGender`.`GID` 
    INNER JOIN `StyleCategoryGender` ON `Gender`.`Code` = `StyleCategoryGender`.`CID` 
WHERE `Gender`.`Name` = 'Female' 
+0

感謝的人,但有沒有更好的建模方法來處理這種類型的情況呢? 以及如何實現案例#2的結果 –

+0

我認爲這是好的,因爲你想要很多很多..你究竟需要什麼情況2? – meda

+0

我想要一個特定的性別的樣式名稱,它的所有類別 –