mysql statement left join, group by und order by ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
brauche
code
dank
datenbank
feld
funktionieren
mitglied
obersten datensatz
ordern
rat
statement
tabelle
testen
versuch
zeile
-
hallo,
ich habe folgendes:
- eine datenbanktabelle "threads" mit u.a. feld "id" und "titel"
- eine datenbanktabelle "beitraege" mit u.a. feld "id" und "threads_id" und "mitglieder_id" und "zeit"
- eine datenbanktabelle "mitglieder" mit u.a. feld "id" und "mitglied"
nun brauche ich ein statement das mir alle datensätze der tabelle "threads" ausgibt, aber auch jeweils die "mitglieder_id" der zeile aus "beitraege" die natürlich die dazugehörige "threads_id" hat, aber auch die zeitlich allererste ist, und nur jeweils die.
ich habs so probiert, aber bekomme immer nur den obersten datensatz, nicht den mit dem kleinsten wert bei "zeit":
SELECT t.id, t.titel, b.mitglieder_id, b.zeit, m.mitglied FROM threads AS t LEFT JOIN beitraege AS b ON t.id=b.threads_id LEFT JOIN mitglieder AS m ON b.mitglieder_id=m.id GROUP BY b.threads_id ORDER BY b.zeit
hat jemend rat ?
Beitrag zuletzt geändert: 26.2.2013 18:00:16 von hcms -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich habe es vielleicht nicht ganz verstanden und habe das jetzt auch nicht getestet (ich arbeite noch an meiner SQL-Datenbank) aber theoretisch sollte das hier funktionieren:
SELECT t.id, t.titel, b.mitglieder_id, MIN(b.zeit), m.mitglied FROM threads AS t LEFT JOIN beitraege AS b ON t.id=b.threads_id LEFT JOIN mitglieder AS m ON b.mitglieder_id=m.id GROUP BY b.threads_id
Das Order By kommt in der SQL-Logic leider immer erst nach dem Group By. Durch das Min sollte aber immer der kleinste Wert gesucht werden.
Hoffe das hilft dir ^^ -
oh danke... das ist natürlich einen versuch wert.
werds morgen gleich mal testen...
thx
p.s.: das heißt nur wenn die user-datenbanken funktionieren
p.p.s.: ne das ist es leider auch nicht
jetzt bekomme ich zwar die erste zeit geliefert, aber die falsche mitglieder_id....
ich will ja den beitrag der zeitlich zu erst war, mit der richtigen mitglieder_id aus dieser zeile
Beitrag zuletzt geändert: 27.2.2013 15:13:23 von hcms -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage