2017-03-23 4 views
1

DB MODELviele zu viele Abfragen Wenn drei Tabellen mit einem Verbindungs ​​

Ich habe Modell, welche nun in oben verbunden ist, möchte ich Stil Namen Tabelle von Stil wählen.
Fall 1: Ich möchte die Stilnamen, die beide Kategorie und Geschlecht schneiden
Fall 2: Ich möchte die Style-Namen, die Geschlecht nur unabhängig von der Kategorie schneiden.

Ich bin Neuling zu SQL gibt es einen effizienten Weg, um das gewünschte Ergebnis mit SQL-JOINS zu bekommen. Irgendwelche Hilfe in diesem Fall wird geschätzt oder gibt es Modellierungslösungen, um mit solchen Situationen umzugehen.

Antwort

0

Hier ist, wie Sie Ihre Tabellen beitreten würden:

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` 

dann können Sie WHERE Klauseln nach Bedarf hinzufügen

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

Dank Mann aber ist es ein besserer Modellierungsansatz solche Art von Situationen zu bewältigen? Und wie man Ergebnisse für Fall # 2 erreicht –

+0

Ich denke, es ist okay, weil Sie viele zu viele wollen .. Was genau brauchen Sie für Fall 2? – meda

+0

Ich möchte Style Namen eines bestimmten Geschlechts und es ist alles Kategorien –

Verwandte Themen