count() aus mehreren tabellen

loki2002

Erfahrenes Mitglied
Hallo,

ich moechte gerne via count(*) und sum (*) ergebnisse aus mehreren tabellen addieren lassen... probiert habe ich es so (nur erstmal mit count()..

$addieren = mysql_query("SELECT count(post) FROM sub1,sub2,sub3 ....");
$endsumme = mysql_result($addieren,0);

naja ergebnis war natuerlich 'fehler-meldung' ... denke mal das ich das mit LEFT JOIN fuer jde neue tabelle... oder?

so in etwa:

$addieren = mysql_query("SELECT count(post), sum(post) AS a FROM sub1 LEFT JOIN sub2 ...");
$endsumme = mysql_result($addieren,0);

oder bin ich total auf dem holzweg?

waere nett wenn mir jemand helfen koennte, vielen Dank.

:)
 
Also rein SQL-technisch geht das so glaub ich net, denn count() und sum() sind Aggregat-Funktionen in SQL. Und diese dürfen nur aus einer Tabelle kommen (heißt nicht, das in der WHERE-Klausel nicht Bezüge zu anderen Tabellen sein dürfen). Außerdem dürfen die Aggregat-Funktionen nur auf eine Spalte angewendet werden.

Eine Möglichkeit wäre das ganze über mehrere Querys zu machen.


Gruß Homer
 
ja scheint wirklich nicht zu gehen... und wenn dann habe ich t1 und t2 multipliziert *g* ... ich hab das problem anders geloest .. (bzw. es wurde mir geholfen!)

/*
"select max(t1.post) + max(t2.post).... FROM t1,t2...."
funzt auch ganz gut.. vorrausgesetzt die spalte 'id' ist komplett 1-x
*/

ist momentan auch nur eine notloesung. :)

mehrere queries moechte ich moeglichst vermeiden, weil es dann doch mal zu performance bzw ausfaellen kommen kann... bei 100 leuten wuerde das immerhin ~1000 db connects ausmachen ... :)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück