• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JOIN - Da stimmt wo was nicht

freakXHTML

Mitglied
Hallo zusammen,
ich habe zwei Tabellen, die ich mittels Join zusammenfügen möchte. Dann sollen aus der neuen Tabelle nur gewisse Beiträge angezeigt werden (von einer bestimmten Nutzerid). Schließlich soll die Zeilenanzahl zurückgegeben werden.

Ich habe folgende SQL Abfrage, die jedoch nicht funktioniert:
Code:
$sql = 'SELECT COUNT(Gelesen) FROM user, messages WHERE messages.empfaengerid = user.id AND messages.empfaengerid = ? AND messages.gelesen = 1';

Könnt ihr mir sagen, was hier falsch ist? Muss ich erst die neue Tabelle erstellen, diese irgendwie zwischenspeichern und dann mit einem neuen SQL Befehl die Zeilenanzahl errechnen?

Was mache ich falsch?

Danke für die Unterstützung!!

lg, freakXHTML
 
Das Fragezeichen ist falsch. Ich nehme an dort steht eigentlich eine ID als Integerwert?

Weiterhin: um etwas zu zählen musst Du die Ergebnisse des Statements an der Stelle gruppieren die du summieren willst. Also:

Code:
$sql = 'SELECT COUNT(Gelesen) FROM user, messages WHERE messages.empfaengerid = user.id AND messages.empfaengerid = ? AND messages.gelesen = 1' GROUP BY messages.empfaengerid;
 
Hallo,
ich habe es hinbekommen. Doch ich verstehe nicht so ganz, warum ich hier GROUPBY verwenden soll. Ich möchte doch nichts sortieren. Die SQL Abfrage funktioniert auch ohne diesen Befehl. Warum sollte der also verpflichtend sein?

Vielen Dank
lg, freakXHTML
 
Zurück
Oben