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!