Hallo!
Ich habe gerade ein etwas komplexeres Problem, bei dem ich alleine leider nicht weiterkomme.
Generell muss ich 3 Tabellen in einer Abfrage zusammenführen wobei zwei der Tabellen nicht nur einen Wert enthalten können. Aber zuerst mal das Schema etwas vereinfacht:
Tabelle Dienstleister:
Tabelle Bewertungen
Tabelle Preise
Ich bräuchte nun eine Art SELECT ID, Name FROM Dienstleister
mit JOIN MAX(Preis) FROM Preise WHERE Einheit = "1h" ...
und JOIN (AVG(Preis) + AVG(Zuverlaessigkeit)) FROM Bewertungen
damit die Abfrage so in etwa folgendes liefert:
Wobei ich bei der Bewertung offen bin. Ich brauche es um wahlweise nach Preis/h, Bewertung, Name oder ID zu sortieren. Wichtig ist dabei, dass es fair bleibt. Also Jemand der 3 Bewertungen hat braucht und jemend der 1 oder 10 hat müssen miteinander vergleichbar sein - sprich eine Art Durchschnitt.
Ich habe gerade ein etwas komplexeres Problem, bei dem ich alleine leider nicht weiterkomme.
Generell muss ich 3 Tabellen in einer Abfrage zusammenführen wobei zwei der Tabellen nicht nur einen Wert enthalten können. Aber zuerst mal das Schema etwas vereinfacht:
Tabelle Dienstleister:
Code:
ID | Name | ...
1 | Test | ...
Tabelle Bewertungen
Code:
ID | DienstlID | Preis | Zuverlaessigkeit
1 | 1 | 5 | 3
2 | 1 | 4 | 3
Tabelle Preise
Code:
ID | DienstlID | Preis | Einheit | Menge
1 | 1 | 80 | 1h | 10
2 | 1 | 90 | 1h | 1
2 | 1 | 45 | 1/2h | 1
Ich bräuchte nun eine Art SELECT ID, Name FROM Dienstleister
mit JOIN MAX(Preis) FROM Preise WHERE Einheit = "1h" ...
und JOIN (AVG(Preis) + AVG(Zuverlaessigkeit)) FROM Bewertungen
damit die Abfrage so in etwa folgendes liefert:
Code:
ID | Name | Preis | Bewertung
1 | Test | 90 | 7,5 (5+4 = 9/2 = 4,5 | 3+3 = 6 / 2 = 3 >> 4,5+3 = 7,5)
Wobei ich bei der Bewertung offen bin. Ich brauche es um wahlweise nach Preis/h, Bewertung, Name oder ID zu sortieren. Wichtig ist dabei, dass es fair bleibt. Also Jemand der 3 Bewertungen hat braucht und jemend der 1 oder 10 hat müssen miteinander vergleichbar sein - sprich eine Art Durchschnitt.