Servus,
ich habe ein Problem mit MySQL (5.0) und einem Sub-Sub-Select.
Es geht darum, dass ich eine Suche mit Filtern in PHP programmiert habe. Bei den Filtern kann man einstellen, ob man z.B. nur grüne Elemente finden möchte.
Bei meiner Suche geht es explizit darum, dass ich nach Geschäften suche, die eine bestimmte Bewertung bekommen: Man kann einstellen, ob man jetzt nur Geschäfte angezeigt bekommt, die eine bessere Bewertung als 3 Sterne haben (5-Sterne-System). Nun habe ich versucht, diese Abfrage mit einem Sub-Sub-Select zum Laufen zu bringen, jedoch wird mir der Durchschnitt aller Geschäfte berechnet und verglichen. Wie kann ich jetzt in dem Subselect auf das aktuelle Element der höheren Ebene zugreifen?
Hier mal das (aufs wesentliche gekürzte) Statement:
SELECT ge_id, art_id
FROM (
SELECT g.ge_id, ge_name
FROM geschaeft AS g
WHERE (g.art_id = 1)
AND (
SELECT AVG(rd_dauer)
FROM rating
WHERE ge_id = '?????'
) >= 3
)
WHERE ge_name LIKE '%Sucheingabe%'
ORDER BY art_id ASC, ge_name ASC
An der Stelle mit dem '?????' liegt wie gesagt mein Problem: Wie kann ich hier feststellen und der Anweisung übergeben, welche ID die 2. Ebene gerade überprüft?
Vielen Dank im Voraus für alle Ansätze und Hilfen,
Markus
(PS: Ja, ich habe bereits mehrere Leute gefragt und auf bekannten Suchmaschinen recherchiert, aber keiner konnte mir wirklich helfen.)