Werte addieren
Einklappen
X
-
Original geschrieben von Supadog
*hmpf* jetzt gibt's keine Ausgabe
(Hab LIMIT wieder ran)
hast du daten in der DB?
Einen Kommentar schreiben:
-
*hmpf* jetzt gibt's keine Ausgabe
(Hab LIMIT wieder ran)
Einen Kommentar schreiben:
-
wenn die felder in den beiden tabellen unterschiedliche namen tragen,
kann man kein USING mehr verwenden.
dann musst du das so machen ...
PHP-Code:$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
LEFT OUTER JOIN doerfer b ON a.dorf_id = b.id
WHERE b.user_id = ".$userinfo[user_id]."
GROUP BY a.dorf_id
";
$result = mysql_query($sql) or die(mysql_error());
$nahrung = mysql_fetch_array($result);
print $nahrung[workers_on];
eine verbindung ergeben. so sieht man dies 1. leichter und 2. kann man USING verwenden...
EDIT:
warum hast du das LIMIT entfernt?
Einen Kommentar schreiben:
-
Jo danke , bloß hab ich jetzt festgestellt dass in doerfer die Spalte dorf_id nicht dorf_d sondern id heißt und habe das ganze so umgeändert:
PHP-Code:$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
LEFT OUTER JOIN doerfer b USING(id)
WHERE b.user_id = ".$userinfo[user_id]."
GROUP BY a.dorf_id
";
$result = mysql_query($sql) or die(mysql_error());
$nahrung = mysql_fetch_array($result);
print $nahrung[workers_on];
Unknown column 'a.id' in 'on clause'
Hätt ich das nicht machen dürfen ?
Einen Kommentar schreiben:
-
hatte einen fehler aus deinem code übernommen ...
jetzt sollte es aber gehen.
PHP-Code:$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
LEFT OUTER JOIN doerfer b USING(dorf_id)
WHERE b.user_id = ".$userinfo[user_id]."
GROUP BY a.dorf_id
LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$nahrung = mysql_fetch_array($result);
print $nahrung[workers_on];
Einen Kommentar schreiben:
-
Da kommt jetzt folgender Fehler:
Code:You have an error in your SQL syntax near 'USING(dorf_id) WHERE b.user_id = 1 GROUP BY a.dorf_id ' at line 4
Einen Kommentar schreiben:
-
Original geschrieben von Supadog
Aber komischerweiße kommt ein Fehler und mysql_error() geht auch nicht
teste mal diesen code. hier ist auch das mysql_error() mit drin.
PHP-Code:$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
JOIN doerfer b USING(dorf_id)
WHERE b.user_id = ".$userinfo[user_id]."
GROUP BY a.dorf_id
LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$nahrung = mysql_fetch_array($result);
print $nahrung[workers_on];
Einen Kommentar schreiben:
-
Danke !
Aber komischerweiße kommt ein Fehler und mysql_error() geht auch nicht
Einen Kommentar schreiben:
-
warum schreibst du alles ein eine zeile????
da wundert mich ja nicht, dass du den überblick verlierst.
PHP-Code:$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
JOIN doerfer b USING(dorf_id)
WHERE b.user_id = ".$userinfo[user_id]."
GROUP BY a.dorf_id
LIMIT 1";
$result = mysql_query($sql);
$nahrung = mysql_fetch_array($result);
print $nahrung[workers_on];
EDIT:
und wenn du nur einen datensatz ausgeben willst, kann
man auch LIMIT verwenden.
Einen Kommentar schreiben:
-
Und wo liegt hierbei der Fehler ?
PHP-Code:$nahrung=mysql_fetch_array(mysql_query("SELECT SUM(a.workers_on),a.dorf_id FROM felder a JOIN doerfer b WHERE b.user_id=$userinfo[user_id] and b.dorf_id=a.dorf_id "));
print $nahrung[workers_on];
Einen Kommentar schreiben:
-
den kannste dir ja wieder in WHERE reinschreiben.
ich habs mal als komplett-liste gemacht.
Code:SELECT A.name, SUM(B.anzahl) FROM tabelle_a A LEFT OUTER JOIN tabelle_b B ON A.id = B.own WHERE name = 'dein_name_eben' GROUP BY A.name
Einen Kommentar schreiben:
-
also so ganz habe ich dich nicht verstanden.
ich versuche es mal auf ein minimum an notwendiger info einzugrenzen.
du hast viele werte in tabelle A. eine spalte soll aus tabelle B summiert werden, wo in einer spalte der tabelle A der name immer identisch ist. richtig? dann ist das mit einer einfachen sql-query möglich.
Code:SELECT A.name, SUM(B.anzahl) FROM tabelle_a A LEFT OUTER JOIN tabelle_b B ON A.id = B.own GROUP BY A.name
Einen Kommentar schreiben:
-
Werte addieren
Ahoi !
Ich hab hier eine Sache zu erledigen und komm dabei alleine wohl nicht mehr weiter.
Ich habe 2 Tabellen in meiner Datenbank.In Tabelle A sind die felder id und name und in Tabelle B habe ich die Felder anzahl und own !
So jetzt möchte ich nach folgendem Schema die Werte von anzahl (Tabelle B) addieren:
Angenommen in Tabelle A ist ein Eintrag id=1 , name=name1 , einer mit id=2 , name=name1 usw. und in Tabelle B sind die Einträge anzahl=4 , own=1 , anzahl=53 , own=1 , anzahl=66 , own=97 usw.
Dann habe ich noch eine variable $user .
Jetzt sollen alle Einträge aus Tabelle A gewählt werden wo name=$user ist - davon der Wert von "id" - und nach diesem Wert alle Einträge aus Tabelle B wo own=der_wert_von_id ist.
Und diese sollen schließlich alle addiert werden so dass ich eine Zahl bekomme!
So ... ist jetzt noch irgendjemand durchgestiegen , so wäre ich einerseits überrascht aber auch sehr froh
Wenn noch Fragen sind so stellt sie doch bitte.
Gruss
SupadogStichworte: -
Einen Kommentar schreiben: