COUNT - Problem

Sasser

Erfahrenes Mitglied
Hallo Leute!

Ich führe folgende Abfrage in SQL durch, welche auch funktioniert, nur scheint ein kleiner Denkfehler zu existieren:

PHP:
SELECT user.alliance, COUNT(user.alliance) AS allianceuser, SUM(citys.points) AS points FROM user LEFT JOIN citys ON user.user = citys.user WHERE user.alliance != '' GROUP BY user.alliance ORDER BY points DESC

Das Problem ist nun, dass er alle "citys" zu einer Alliance zusammenzählt als allianceuser. Ich möchte aber gern aus der Tabelle "citys" alle User zusammenzählen, welche die gleiche `alliance` haben.
 
Hmm danke dir,

aber irgendwie zählt er immer wie oft die `user` insgesamt in der Tabelle citys einer gleichen `alliance` sind (also wieviele Städte diese User haben). Es soll aber einfach zählen, wieviele `user` in der Tabelle user bei `alliance` die gleiche Allianz stehen haben.

Kann das Problem irgendwie mit dem GROUP BY zu tun haben?
 
Zuletzt bearbeitet:
Hat niemand eine Idee an was das Problem liegt? :confused:

Liegts vll. an dem LEFT JOIN?

Also wenn ich die Abfrage ohne die andere Tabelle mache funktionierts:

PHP:
mysql_query("SELECT alliance, COUNT(alliance) AS allianceuser FROM user WHERE alliance != '' GROUP BY alliance", $db) or die(mysql_error());

Allerdings wird ja nun nicht mehr die Gesamtpunktzahl ermittelt ;(
 
Zuletzt bearbeitet:
Zurück