SQL-Problem mit LEFT JOIN und GROUP BY

Bogat

Mitglied
Hallo,

ich habe ein Problem und zwar möchte ich aus verschiedenen Tabellen die Daten ziehen und aus 2 Tabellen lediglich ein Count haben. Wie genau kann ich das umsetzen? Verstehe auch irgendwie nicht so ganz das "group by".

Hier meine SQL-Abfrage.

PHP:
$sql = "SELECT u.id, u.username, u.vname, u.nname, u.email, u.avatar, u.msn, u.icq, u.website, u.kama, u.show_email, u.user_level, u.registered, u.updated, count(uc.id) AS 'commentcount', count(up.id) AS 'uploadcount', p.title, p.views, p.last_update, p.content FROM `user` u LEFT JOIN `user_comments` uc ON uc.user_id = u.id LEFT JOIN `uploads` up ON up.user_id = u.id LEFT JOIN `user_profiles` p ON p.user_id = u.id WHERE u.id = '".$this->id."' GROUP BY u.id";

Mit freundlichen Grüßen,
Christian Weber
 
Wenn du schon erkannt hast, dass es ein SQL Problem ist, warum dann nicht auch im SQL Forum posten? ;)

PHP:
$sql = "SELECT u.id, u.username, u.vname, u.nname, u.email, u.avatar, u.msn, u.icq, u.website, u.kama, u.show_email, u.user_level, u.registered, u.updated, count(uc.id) AS 'commentcount', count(up.id) AS 'uploadcount', p.title, p.views, p.last_update, p.content FROM `user` u LEFT JOIN `user_comments` uc ON uc.user_id = u.id LEFT JOIN `uploads` up ON up.user_id = u.id LEFT JOIN `user_profiles` p ON p.user_id = u.id WHERE u.id = '".$this->id."' GROUP BY u.id";

Versuch es mal so:
SQL:
SELECT u.id, u.username, u.vname, u.nname, u.email, u.avatar, u.msn, u.icq, u.website, u.kama, u.show_email, u.user_level, u.registered, u.updated, count(uc.id) AS commentcount, count(up.id) AS uploadcount, p.title, p.views, p.last_update, p.content 
FROM `user` AS u 
LEFT JOIN ( `user_comments` AS uc, `uploads` AS up, `user_profiles` AS p ) 
ON ( uc.user_id = u.id AND up.user_id = u.id AND p.user_id = u.id )
WHERE u.id = '".$this->id."' 
GROUP BY u.id

/Edit: Ah, wurde ja schon verschoben... ;)
 
Ja das war ein dummer Fehler, entschuldigung dafür. Der SQL-Befehl funktioniert, allerdings bekomme ich überall als Wert "m" ?
 
Ok hat sich geklärt, selten so einen dummen Fehler gemacht... ich habe doch wirklich beim mysql_fetch_assoc in der Klammer das $result vergessen... *aufkopfhaut*

Trotzdem Danke!
 

Neue Beiträge

Zurück