Ilja: Kleines Problem mit SQL Abfrage

Beitrag lesen

yo,

so richtig habe ich dein ziel noch nicht verstanden. versuch die dinge am besten so zu erklären, so dass man es ohne dein vorwissen verstehen kann. zum beispiel habe wir keine ahnung davon, wie die tabelle user aussieht.

$result=mysql_query("SELECT Punktestand, COUNT(pm.User_ID) AS Anzahl, SUM(pm.Status) AS Gelesen FROM user, pm WHERE Nick="".$_SESSION['nick']."" AND pm.User_ID=user.ID GROUP BY Punktestand");

bitte gebe nur die sql anweisung an, ohne irgendwelchen schnick-schnack von php oder anderen script-sprachen. das erleichtert das fokusieren auf das eigentliche problem.

Kann ich das irgendwie anders lösen, dass auch wenn kein eintrag in der Tabelle 'pm' vorhanden ist er trotzdem eine Ausgabe bringt(eine leere oder einfach das 0 darin steht) oder muss ich wirklich 2 Abfragen machen?

du benutzt einen INNER JOIN, deshalb bekommst du keine datensätze, wenn es bei dem JOIN zu keinen treffern der beiden tabellen kommt. was du tun kannst ist einen LEFT JOIN einzusetzen.

SELECT Punktestand, COUNT(pm.User_ID) AS Anzahl, SUM(pm.Status) AS Gelesen
FROM user LEFT JOIN pm ON (pm.User_ID=user.ID)
WHERE Nick= 'nickname'
GROUP BY Punktestand

Ilja