Rechnung mit Subquery - Fehlende Ausgabe

Psychomaster

Grünschnabel

Ich programmiere gerade eine Clan-Rangliste für ein Browsergame. Dabei werden auch die Punkte des Clans angezeigt. Diese werden anhand einiger Informationen im Clan berechnet und als punkte ausgegeben.
Das PRoblem besteht nun darin, dass ich zwar alle Datensätze der Clans bekomme, allerdings die Punkte nur für den ersten berechnet werden. Der Rest ist 0.
Warum werden nun diese Subqueries nur beim ersten Clan ausgeführt und berechnet und anschliessend nicht mehr? Name, Tag und ID wird für jeden Clan ausgegeben.
Aber hier erstmal der Query:
PHP:
$resulte = mysql_query("
SELECT 
 clans.id, clanname, clantag, clans.clanbank, 
 ((SELECT SUM(users.level) FROM users users WHERE users.clan=clans.id)*10+(SELECT SUM(skills.level) FROM clanbuidskills skills WHERE skills.clanid=clans.id)*250+clans.clanbank/1000+clans.wins*10-clans.loses*10) AS punkte 
FROM 
 clans clans 
ORDER BY punkte DESC limit ".$site.",".$Anz_Seite) or die(mysql_error());

Code:
Ausgabe: 
Name    |    Tag   |   Punkte
----------------------------
Test    |   [T1]   |   1910
Test2   |   [T2]   |   0
Die Punkte des zweiten sollten 460 sein.

Habs gefunden. Hab nen Tipp bekommen, dass man mit NULL nicht rechnen kann. Und solange man keine Skills besitzt wird mindestens ein Subquery zu NULL. hab nun nen IFNULL() eingebaut und nun klappt alles ^^
 
Zuletzt bearbeitet:
Zurück