Addieren mit SQL
Thomas D.
- datenbank
Tach zusammen
ich hab mir mal eine Tabelle gemacht in der ich meine Fahrzeugreparaturen eingebe, nix bewegendes.
CREATE TABLE touren\_repararturen
(
rep\_ID
int(11) NOT NULL auto_increment,
Kennzeichen
varchar(11) NOT NULL default '',
Datum
date NOT NULL default '0000-00-00',
Art
text NOT NULL,
Werkstatt
varchar(254) NOT NULL default '',
Kontaktperson
varchar(100) NOT NULL default '',
Telefon
varchar(20) NOT NULL default '',
Arbeitskosten
varchar(254) NOT NULL default '',
Ersatzteilkosten
varchar(254) NOT NULL default '',
Garantie
varchar(254) NOT NULL default '',
Gesamtkosten
varchar(254) NOT NULL default '',
PRIMARY KEY (rep\_ID
)
)
was ich nun machte möchte ist
eine SELECT abfrage die mir monatlich die Gesamtkosten auflistet.
Also alle Gesamtkosten die im Monat 10 entstanden sind addieren und als Gesamtsumme auswerfen.
Entweder ich denk zu kompliziert oder hab gerade ein Gedankenloch.
Mit MONTH and YEAR lässt sich das bewerkstelligen nur irgentwie bekomme ich das nicht hin.
Gruss Thomaas
select SUM AS Gesamtsumme from touren_repararturen where MONTH (Datum) = '07' and YEAR (Datum) = '2009'
funzt nett, welche Formel muss als SUM da rein ??
Hi,
Arbeitskosten
varchar(254) NOT NULL default '',
Ersatzteilkosten
varchar(254) NOT NULL default '',
Garantie
varchar(254) NOT NULL default '',
Gesamtkosten
varchar(254) NOT NULL default '',
warum speicherst Du Zahlen als Strings ab? Es ist nicht verwunderlich, wenn Zahlenoperationen damit keine brauchbaren Ergebnisse liefern.
Cheatah
ich glaube INT wäre da besser, trotzdem bekomme ich den summierungsbefehl nicht zusammen gestzt
Hi,
ich glaube INT wäre da besser, trotzdem bekomme ich den summierungsbefehl nicht zusammen gestzt
hast Du Dir die Syntax von SUM() mal in der Dokumentation Deines DBMS angesehen?
Cheatah
Hi..
ich hab damit schon gerechnet SELECT SUM (Gewicht/1000) AS Gewicht blabla .......
einzelne Spalten multiplieziern etc. kein Problem nur eine Spalte addieren und das nur für einen bestimmten Monat übersteigt mein Wissen ein wenig
Hi,
ich hab damit schon gerechnet SELECT SUM (Gewicht/1000) AS Gewicht blabla .......
na, ist doch wunderbar.
einzelne Spalten multiplieziern etc. kein Problem nur eine Spalte addieren und das nur für einen bestimmten Monat übersteigt mein Wissen ein wenig
Warum? Wenn Du das Statement in https://forum.selfhtml.org/?t=94019&m=568527 als Grundlage nimmst und noch in obige gültige Syntax bringst, ist doch alles in Ordnung.
Cheatah
Ich weiss beim besten Willen nicht was in die Klammer soll. Gesamtsumme + Gesamtsumme funzt nicht.....
select SUM (Gesamtsumme + Gesamtsumme) AS Gesamtsumme from touren_repararturen where MONTH (Datum) = '07' and YEAR (Datum) = '2009'
es sind ja mehrere Reparaturen in einem Monat entstanden.
Entweder ich denke zu komplziert oder ich hab hier echt ein Denkfehler drin
Hi,
Ich weiss beim besten Willen nicht was in die Klammer soll.
SUM() ist eine (Gruppen-)Funktion. In den Klammern befindet sich der Wert, über den die Summe gebildet werden soll.
Gesamtsumme + Gesamtsumme funzt nicht.....
Erstens soll es nicht "funzen", sondern funktionieren; zweitens summierst Du dann über die doppelte Gesamtsumme; drittens ist "funktioniert nicht" keine Problembeschreibung.
Cheatah
OKI hier die fehlermmeldung
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(Gesamtsumme + Gesamtsumme) AS Gesamtsumme from touren_reparart
ich fang damit nicht an, bin nicht soll ein Freak.... der Fehler liegt meinerseits glaub ich in der Klammerfunktion
select SUM (Gesamtkosten) from touren_repararturen where MONTH (Datum) = '08' and YEAR (Datum) = '2009'
was ist hier falsch ???????????????
Ich summiere die Gesamtkosten vom Monat 08 und Year 2009
und es geht nicht, bin mit meinem Latein am Ende
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(Gesamtkosten) from touren_repararturen where MONTH (Datum) = '
Hi,
select SUM ([...]
was ist hier falsch ?
die Syntax.
??????????????
Und die deutsche Zeichensetzung.
Cheatah
hi,
was ist hier falsch ???????????????
vermutlich in erster linie deine art, dich mit problemen zu beschäftigen.
Cheatah bat dich schon hier, jetzt doch mal dem rat aus der fehlermeldung zu folgen, und ins manual zu schauen.
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(Gesamtkosten) from touren_repararturen where MONTH (Datum) = '
also mach das doch bitte mal, und schaue beispielsweise hier unter Funktionen zur Benutzung bei GROUP BY-Klauseln nach, in wie fern deine syntax signifikant von der richtigen abweicht.
gruß,
wahsaga
ich habs.... koennt mich weg schreien
SELECT SUM(Gesamtkosten)
FROM touren_repararturen
WHERE YEAR (Datum) = '2009' AND MONTH (Datum) = '08'
HAHAHAHAHAHAH
hi,
Ich weiss beim besten Willen nicht was in die Klammer soll. Gesamtsumme + Gesamtsumme funzt nicht.....
warum sollte es?
laut ursprungsposting heißt den feld Gesamtkosten.
gruß,
wahsaga
hi,
laut ursprungsposting heißt den feld Gesamtkosten.
^i
gruß,
wahsaga
"den feld heißt Gesamtkosten, weißt du, alter ..."
ui.... hab ich doch glatt uebersehen -)))))
trotzdem funzt die SELECT Abfrage nicht
select SUM (Gesamtkosten) AS Gesamtkosten from touren_repararturen where MONTH (Datum) = '08' and YEAR (Datum) = '2009'
ich bekomms nicht hin strick und strick und nur Fehlermeldungen
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(Gesamtkosten) AS Gesamtkosten from touren_repararturen where M
Hi,
select SUM (Gesamtkosten) [...]
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(Gesamtkosten) [...]
und, hast Du das gemacht?
Cheatah