[SQL JOIN] Join mit zählen in einer anderen Tabelle

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

  • [SQL JOIN] Join mit zählen in einer anderen Tabelle

    ich baue im moment an einem private message system für ein cms und habe eine SQL-Query gebaut die mir die Ordner eines Benutzers anzeigt und dazu in einer anderen Tabelle die ungelesenen Nachrichten zählt. Allerdings wird ein Ordner im Moment nur ausgegeben wenn es auch Nachrichten in diesem Ordner gibt. Allerdings sollten alle Ordner, egal ob mit Nachrichten (gelesen oder ungelesen) ausgeben werden. Kann mir jemand helfen?
    Hier die Query:

    Code:
    SELECT
    folder.* , COUNT( message.message_read ) AS folder_unread_message
    FROM mail_folder folder
    RIGHT JOIN mail_message message
    ON folder.folder_id = message.message_folder
    AND folder.folder_user_id = 2
    AND message.message_user_id = 2
    AND folder.folder_global = "0"
    GROUP BY folder.folder_id
    ORDER BY folder.folder_name
    DESC
    Kurze Erklärung: die user_id ist zum Testen = 2 (User und Ordner für den User existieren), in der Tabelle folder gibt die spalte global an ob der Ordner global (Posteingang, Papierkorb...) oder dem User zugehörig ist am Ende sollte etwas rauskommen wie

    Allgemein (2)
    Freunde
    Spam

    wobei der Ordner Spam keine Nachrichten enthält und der Ordner Freunde nur gelesene - folder_unread_message wäre also NULL
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

  • #2
    hast du mal nen DB Dump?

    Kommentar

    Lädt...
    X