Thomas D.: Addieren mit SQL

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

  1. select SUM AS Gesamtsumme from touren_repararturen where MONTH (Datum) = '07' and YEAR (Datum) = '2009'

    funzt nett, welche Formel muss als SUM da rein ??

  2. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. ich glaube INT wäre da besser, trotzdem bekomme ich den summierungsbefehl nicht zusammen gestzt

      1. 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

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. 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

          1. 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

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. 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

              1. 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

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. 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

                2. 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) = '

                  1. Hi,

                    select SUM ([...]
                    was ist hier falsch ?

                    die Syntax.

                    ??????????????

                    Und die deutsche Zeichensetzung.

                    Cheatah

                    --
                    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes
                  2. 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

                    --
                    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                    1. ich habs.... koennt mich weg schreien

                      SELECT SUM(Gesamtkosten)
                      FROM touren_repararturen
                      WHERE YEAR (Datum) = '2009' AND MONTH (Datum) = '08'

                      HAHAHAHAHAHAH

              2. 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

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                1. hi,

                  laut ursprungsposting heißt den feld Gesamtkosten.

                  ^i

                  gruß,
                  wahsaga

                  "den feld heißt Gesamtkosten, weißt du, alter ..."

                  --
                  "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                  1. 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

                    1. 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

                      --
                      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                      X-Will-Answer-Email: No
                      X-Please-Search-Archive-First: Absolutely Yes