Announcement

Collapse
No announcement yet.

Summe berechnen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Summe berechnen

    Hallo Gemeinde,

    ich stehe mal wieder vor einem Problem, für das ich wieder einmal keine Lösung finde:

    Aufgabestellung: Errechne die Summe der Fails

    Tabelle A
    ID / SNAME / an_fail
    1 / test1 / 7
    2 / test2 / 2
    3 / test3 / 4
    .
    .
    .

    Tabelle B
    SNAME / SGruppe / ap_id
    test1 / ich / 1
    test1 / ich / 200
    test1 / ich / 12
    test1 / ich / 2
    test2 / Du / 2
    test3 / er / 4
    .
    .
    .

    Die Datensätze in TabelleA sind eindeutig da Feld ID ein Unique Identifier und der Wert für SName nur einmal vorkommt ist.
    Wie Ihr aber seht, können in TabelleB die SNAME Felder mehrfach vorkommen.

    Die Gesamtsumme über alle Datensätze bekomme ich ohne Probleme hin ( in diesem Beispiel: 13 )
    select sum(an_fail) from TabelleA

    Und jetzt zu meinem Problem: Ich würde gerne die Summe der Spalte an_fail bekommen wo die Spalte SGruppe von TabelleB gleich 'ich' ist, also in etwa so:

    select sum(an_fail) from TabelleA where TabelleB.SGruppe = 'ich'

    Da aber der Wert test1 mehrfach in TabelleB vorkommt, wird die Summe falsch berechnet ( Ergebnis der o.a. Select Anweisung wäre 28 )

    Wie komme ich an die richtige Summe ( Ergebnis: 7 )???

    Gruß,

    dodger

  • #2
    select sum(an_fail) from TabelleA where exists
    (select * from tabelleB where tabelleA.sname=tabelleB.sname and
    TabelleB.SGruppe = 'ich')
    docendo discimus

    Comment


    • #3
      Hallöle,

      vielen vielen Dank, das war genau das was ich gesucht habe.

      Gruß,

      dodger

      Comment

      Working...
      X