kostenloser Webspace werbefrei: lima-city


mysql statement left join, group by und order by ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    h**s

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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 ^^
  4. Autor dieses Themas

    h**s

    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 :slant:




    p.p.s.: ne das ist es leider auch nicht :mad:
    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

    :confused:

    Beitrag zuletzt geändert: 27.2.2013 15:13:23 von hcms
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!