Übersichtsabfrage

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

  • Übersichtsabfrage

    Hallo,


    Mir ist grad' kein besserer Titel eingefallen - soll ja auch zum lesen animieren. *fg*

    Folgendes..

    Ich hab zwei Tabellen (nur aufgeschrieben was wichtig ist..):

    user:
    - user_id
    - user_name
    .
    .

    kommentare:
    - kommentare_t (speichert id der benutzergruppe)
    - kommentare_fid (speichert id aus user-tabelle)
    .
    .

    In beiden Tabellen sind noch mehrere andere Dinge gespeichert aber die brauche ich für das Ergebniss nicht, von daher habe ich das weggelassen.

    Ziel ist es nun, über eine "Übersichtsseite" (a la A, B, C, D, ....) die user_namen zu erhalten die mit diesem Buchstaben beginnen und zusätzlich die Anzahl der Kommentare dazu. Soweit kein Problem.. Nun ist es aber so, dass versch. Benutzergruppen im System auch nur den Kommentare angezeigt bekommen die aus ihrer Gruppe stammen, ergo sollten bei der Kommentarmenge auch nur jene gezählt werden.

    Code:
    SELECT COUNT(k.kommentare_Id) AS comments, t.user_name AS nick, t.user_id AS id
    FROM kommentare k
    LEFT JOIN user t ON (t.user_Id = k.kommentare_fid)
    WHERE k.kommentare_t = '2'
    AND t.user_name LIKE 'T%'
    ORDER BY t.user_name
    Dieser Query liefert zwar keinen Error und bringt mir ein Ergebnis. Jedoch ist dieses nicht ganz richtig, denn das was kommt ist genau 1 row (egal auf welchen Buchstaben oder Benutzergruppe der nun ausgerichtet ist). Als Beispiel beim Buchstaben T müssten es 4 rows sein.
    Die Frage die ich mir stelle ist nun, warum ich zwar ein halbwegs richtiges aber nicht komplettes Ergebniss erhalte, denn die Anzahl Kommentare ist richtig.


    Gruss

  • #2
    Hallo,

    wenn du count benutzt, kommt immer nur eine Row zurück, es sei denn, du arbeitest mit group by, dann kommt eine Row pro Gruppe zurück. In deinem Fall bietet es sich also an, nach User ID zu gruppieren.

    Gruß,

    Anja
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Wahrhaftig! Der leibhaftige soll mich holen! Hinzu kommt, dass ich bei meinen Test in phpMA nur die usertabelle nach Fehlern durchsucht habe und nicht auch noch die Kommentartabelle. Dann hätte ich gemerkt, dass beim Transport von Testkommentaren aus dem alten in das Neue System die meisten Kommentare verloren gegangen sind und nur 100% der UserNamen gespeichert worden sind (anstatt auch noch die 132 Kommentare - es wurden nur 63 übertragen, daher kamen auch die teils falschen ergebnisse in phpMA)

      Manchmal wünschte ich, ich hätte ne Möglichkeit wo ich mein Hirn drauflegen und mit dem Stift reinpieksen könnte.

      Es sei Dir (mal wieder!) gedankt!

      Kommentar

      Lädt...
      X