Ferris: MySQL - verzwickte Abfrage über mehrere Tabellen

Beitrag lesen

Hallo!

Also wie der Titel verrät, hab ich ein Problem mit einer Abfrage un komm einfach nicht mehr weiter. Hoffentlich könnt ihr mir helfen.

Zunächst meine Tabellenstrukturen

table.COLORS
┌▬▬▬▬┬▬▬▬▬▬▬▬▬▬▬▬┐
│ id │ colorname │
├▬▬▬▬┼▬▬▬▬▬▬▬▬▬▬▬┤
│ 1  │ rot       │
│ 2  │ grün      │
│ 3  │ blau      │
└▬▬▬▬┴▬▬▬▬▬▬▬▬▬▬▬┘

table.SIZES
┌▬▬▬▬┬▬▬▬▬▬▬┐
│ id │ size │
├▬▬▬▬┼▬▬▬▬▬▬┤
│ 1  │ 20   │
│ 2  │ 30   │
│ 3  │ 50   │
└▬▬▬▬┴▬▬▬▬▬▬┘

table.COLOR_SIZE_RELATION
colorid = FOREIGN_KEY COLORS.id
sizeid = FOREIGN_KEY SIZES.id
┌▬▬▬▬┬▬▬▬▬▬▬▬▬▬▬┬▬▬▬▬▬▬▬▬┬▬▬▬▬▬▬▬┐
│ id │ colorid  │ sizeid │ price │
├▬▬▬▬┼▬▬▬▬▬▬▬▬▬▬┼▬▬▬▬▬▬▬▬┼▬▬▬▬▬▬▬┤
│ 1  │ 1        │ 1      │ 10    │
│ 2  │ 1        │ 2      │ 15    │
│ 3  │ 2        │ 1      │ 17    │
│ 4  │ 3        │ 1      │ 12    │
│ 5  │ 1        │ 3      │ 25    │
└▬▬▬▬┴▬▬▬▬▬▬▬▬▬▬┴▬▬▬▬▬▬▬▬┴▬▬▬▬▬▬▬┘

table.PRODUCTS
┌▬▬▬▬┬▬▬▬▬▬▬▬▬▬▬┬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬┐
│ id │ colorid  │ ...andere Angaben... │
├▬▬▬▬┼▬▬▬▬▬▬▬▬▬▬┼▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬┤
│ 1  │ 1        │ ...                  │
│ 2  │ 1        │ ...                  │
│ 3  │ 1        │ ...                  │
│ 4  │ 2        │ ...                  │
│ 5  │ 2        │ ...                  │
└▬▬▬▬┴▬▬▬▬▬▬▬▬▬▬┴▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬┘

table.PRODUCT_DETAILS
productid = FOREIGN_KEY PRODUCTS.id
┌▬▬▬▬┬▬▬▬▬▬▬▬▬▬▬▬┬▬▬▬▬▬▬┬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬┐
│ id │ productid │ size │ ...andere Angaben... │
├▬▬▬▬┼▬▬▬▬▬▬▬▬▬▬▬┼▬▬▬▬▬▬┼▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬┤
│ 1  │ 1         │ 20   │ ...                  │
│ 2  │ 1         │ 30   │ ...                  │
│ 3  │ 2         │ 20   │ ...                  │
│ 4  │ 3         │ 50   │ ...                  │
│ 5  │ 4         │ 30   │ ...                  │
└▬▬▬▬┴▬▬▬▬▬▬▬▬▬▬▬┴▬▬▬▬▬▬┴▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬┘

Meine Abfrage soll über sämtliche Tabellen gehen und alle Informationen zu den Produkten in "PRODUCTS" liefern.
Über mehrere LEFT JOINS bekomme ich die Angaben aus "PRODUCT_DETAILS" und "COLORS".
Da ich aber in "PRODUCT_DETAILS" die Spalte "size" mit einem Wert aus "SIZES" habe und in "COLOR_SIZE_RELATION" die ID aus "SIZES", beiß ich mir die Zähne daran aus den entsprechenden Preis ("price") zu einer "color-size"-Kombination aus "COLOR_SIZE_RELATION" zu bekommen.
Als Abfragekriterium habe ich nur die "id" aus "PRODUCTS".

Ich hoffe ich konnte mein Problem verständlich beschreiben.
Bei Mißverständnissen versuch ich es nochmal besser :)

Die Frage ist also wie ich den richtigen "price" aus "COLOR_SIZE_RELATION" bekomme.

Danke!