Tabelle durch Inhalte 2ter Tabelle ordnen

z0oL

Erfahrenes Mitglied
Hi,

folgendes Problem:

Ich habe 2 Tabellen:

1) städte:
id | land | stadt

2) kommentare:
id | stadtid | bewertung | kommentar

Nun stehe ich vor dem für mich leider unlösbaren Problem, dass ich die die Daten aus Tabelle 1 der Bewertung nach (aus Tabelle 2, zu jeder Bewertung eines User eine eigene Zeile) ordnen. Hab da rumprobiert und rumprobiert, aber es kam nichts brauchbares heraus. Hab dann eher zufällig von JOIN gelesen, und wollte mal hier nachfragen, ob mir dies in meinem Falle helfen könnte?

Vielen Dank im Voraus,
z0oL
 
Hi,

ja, JOIN in Verbindung mit MAX() und GROUP BY würde ich sagen. Probier mal folgendes (ungetestet):

SQL:
SELECT staedte.id, staedte.land, staedte.stadt, 
       MAX(kommentare.bewertung) as b
   FROM staedte
   INNER JOIN kommentare
      ON staedte.id = kommentare.stadtid
   GROUP BY staedte.id
   ORDER BY b DESC

LG
 
Zuletzt bearbeitet von einem Moderator:
Hey danke,

das hat ja super geklappt. Aber ganz schön kompliziert. Sollte mich da wohl mal genauer einlesen :)

Ein kleines Problem bleibt noch: Alle Einträge ohne Bewertung werden nun nicht mehr angezeigt. Hoffe aber, dass ich dies selbstständig hinbekomme. Kannst ja trotzdem posten, wenn dir danach ist.

Nochmal vielen Dank,
z0oL
 
Ja wunderbar :D

Hätte da jetzt wohl oder übel mit einer if-Abfrage gearbeitet, oder einfach alle ohne Bewertung hinten angehängt. Aber dieses einfache Ersetzen eines Wortes macht das ganze natürlich sehr einfach.

Super, vielen Dank. Hast mir sehr geholfen!
 

Neue Beiträge

Zurück