Ankündigung

Einklappen
Keine Ankündigung bisher.

komplizierte mysql abfrage

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • komplizierte mysql abfrage

    problem: ich habe eine tabelle mit user-profilen und eine weitere tabelle mit user dateien (user können verschiedene dinge uploaden, jedes mal gibts dafür nen datensatz in der db).

    jetzt möchte ich mir im adminbereich all diejenigen user anzeigen lassen, die schon 20 dateien hochgeladen haben, also user die schon 20 datensätze haben.

    momentan weis ich das problem nur so zu lösen: ich muss im userprofil mitzählen wieviele dateien der user hat damit ich ein einfaches select ... from ... where ... machen kann.

    aber ich wäre jetzt nicht hier wenn in meinem kopf nicht sowas wie concat xyz herum schwirren würde, meine ich habe sowas irgendwo schon mal gehört. stichwort verschachtelte abfrage. kann mir jemand mal kurz erläutern wie ich mit einer sql abfrage das obige problem theroetisch in den griff kriege, auch ohne den zähler im user-profil? die abfrage läuft dann ja über zwei tabellen... aber eben nur ein query. da liegt der hase im busch...


  • #2
    COUNT(), LEFT JOIN, GROUP BY und HAVING() sollten deine Stichwörter sein.

    Kommentar


    • #3
      geht das noch etwas genauer?

      Kommentar


      • #4
        Code:
        SELECT a.userid, count(b.*) 
        FROM tabelle1 a
        LEFT JOIN tabelle2 b
          ON a.userid = b.userid
        GROUP BY a.userid
        HAVING COUNT(b.*) >= 20

        Kommentar


        • #5
          oha was bedeutet das in worten? ist ja wirklich kompliziert

          Kommentar


          • #6
            Zeige alle userid aus tabelle1 gruppiert nach userid, welche mehr als 19 einträge in tabelle b besitzen.

            Kommentar

            Lädt...
            X