arie: sql Anweisung

Hallo Leute!
habe ein Problem und zwar,ich kann die Sql-Anweisung nicht schreiben!:-(Also ich möchte aus der Spalte 'Stunden'die Werte zusammenzählen,aber das Vorzeichen '+' oder '-',kommt aus einer anderen Spalte.Wie kriege ich das hin??
Danke!!!

Grüße Arie

  1. Hi Arie,

    in welchen Bezug steht denn das Vorzeichen zu der Summe in der anderen Spalte ???

    Weshalb eigentlich. Überlass das Vorzeichen doch (im negativen Fall) der Summierung.

    Gruss Matze

  2. hi Arie

    als gedankenanstoss:

    erst die positiven auslesen und summieren, dann die nagativen auslesen und summieren und dann die negativen von den positiven subtrahieren.

    so long
    ole
    (8-)>

  3. Halihallo arie

    habe ein Problem und zwar,ich kann die Sql-Anweisung nicht schreiben!:-(Also ich möchte aus der Spalte 'Stunden'die Werte zusammenzählen,aber das Vorzeichen '+' oder '-',kommt aus einer anderen Spalte.Wie kriege ich das hin??

    Au waya. Also Grundsätzlich fällt mir nur das ein:
    Falls du nicht '+' oder '-', sondern 1 und -1 hättest, könntest du die beiden Felder Multiplizieren. Aber bei + oder - müsste a) ein expression-evaluator in der DB implementiert sein, welcher ein mathematischer Ausdruck interpretiert (nicht vorhanden) oder b) eine If-Abfrage, welche nicht Bestandteil von SQL ist.
    Ausweg:
    Zwei Queries, wo du einmal alle Tupel/Datensätze mit dem Flag '+' summierst und ein zweiter, wo du alle mit dem Flag '-' summierst. Dann brauchst du nur noch das Ergebnis des zweiten Queries vom ersten abziehen und hast das Ergebnis, aber wie gesagt: du brauchst zwei Queries.

    Viele Grüsse

    Philipp

    1. Hi Philipp

      Ausweg:
      Zwei Queries, wo du einmal alle Tupel/Datensätze mit dem Flag '+' summierst und ein zweiter, wo du alle mit dem Flag '-' summierst. Dann brauchst du nur noch das Ergebnis des zweiten Queries vom ersten abziehen und hast das Ergebnis, aber wie gesagt: du brauchst zwei Queries.

      Wieso zwei Queries? Alternativ könnte man doch über + und - gruppieren und
      die Aggregatsfunktion sum() benutzen und dann die Differenz im Programm
      berechnen, dafür brauchts ja keine Query mehr.

      Gruss Daniela

      1. Halihallo Daniela

        Zwei Queries, wo du einmal alle Tupel/Datensätze mit dem Flag '+' summierst und ein zweiter, wo du alle mit dem Flag '-' summierst. Dann brauchst du nur noch das Ergebnis des zweiten Queries vom ersten abziehen und hast das Ergebnis, aber wie gesagt: du brauchst zwei Queries.

        Wieso zwei Queries? Alternativ könnte man doch über + und - gruppieren und
        die Aggregatsfunktion sum() benutzen und dann die Differenz im Programm
        berechnen, dafür brauchts ja keine Query mehr.

        Stimmt. War mit denken wohl etwas kurz angebunden ;)

        Viele Grüsse

        Philipp

        PS: Lektion des Tages: Bevor man das erste mal postet erst einen Kaffee trinken!

  4. Hallo Arie,
    oje! Dieses Beispiel kann einen Preis für schlechtes Datenbankdesing gewinnen!
    Beste Lösung: Alles neu!
    Was mir aber dennoch dazu einfällt:
    Addiere die negativen und positiven Spalten separat (...WHERE Vorzeichenspalte = "+") und bilde dann die Differenz. Einfache Lösung, aber trotzdem ein Graus!
    Gruß
    Susanne

    Hallo Leute!
    habe ein Problem und zwar,ich kann die Sql-Anweisung nicht schreiben!:-(Also ich möchte aus der Spalte 'Stunden'die Werte zusammenzählen,aber das Vorzeichen '+' oder '-',kommt aus einer anderen Spalte.Wie kriege ich das hin??
    Danke!!!

    Grüße Arie

  5. Hallo Arie!

    Ich verstehe dich nicht ganz. Warum kommt das + bzw. - aus einer anderen spalte? Was willst du genau damit bezwecken?

    Gruß HF