Announcement

Collapse
No announcement yet.

Summe mehrer Datensätze wenn Kriterien gleich sind

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

  • Summe mehrer Datensätze wenn Kriterien gleich sind

    Hallo zusammen!
    Bin noch relativ neu im Thema SQL und steht derzeit vor einem Problem wo mir kein Lösungweg einfallen will, bin aber überzeugt das es einen gibt (vermutlich Brett vorm Kopf).

    Also hier mal die Daten:
    MS SQL Server 2008

    Folgende Daten (exemplarisch):

    Kriterium 1--Kriterium 2--Kriterum 3--Wert

    132----------5-------------A------------- 1
    2-------------7-------------B------------- 10
    132----------8-------------A------------- 33
    3-------------5-------------A------------- 4
    132----------8-------------B-------------23
    4-------------4-------------C-------------9


    Soweit die Daten. Kritium 1 = int, Kriterium 2 = int, Kriterium 3=char, Wert=int


    Problem: Ich will die Summe von 132 wissen, die Werte sollen summiert werden, ABER nur wenn Kriterium 1 = 5 ODER 8 UND Kriterium 3 gleich ist.

    Das heißt am Ende muss rauskommen (Beispiel 132):

    132--------------------------A--------------------------34
    132------------------------- B--------------------------23

    Hoffe die Erklärungen sind einigermaßen verständlich. Punkt ist halt das die Sachen nur Summiert werden sollen, wenn Kriterium 3 identisch ist und Kriterium 2 entweder 5 ODER 8.

    Wäre für Ideen sehr dankbar.

    Das ganze müsste natürlich über Selects laufen, das es ein paar tausend verschiedene Werte sind und ich natürlich nicht für jeden eine eigene Anweisung machen kann.


    Vielen Vielen Dank im voraus!

  • #2
    Hallo und willkommen!

    Das ist doch nicht weiter schlimm:
    Code:
    SUM(Wert) - GROUP BY Kriterium1, Kriterium3 WHERE Kriterium2 IN (5,8)
    Statt IN dürfte WHERE ... OR ... besser sein, aber ich weiß ja nicht, was dir noch an Wünschen einfällt.

    Siehe auch [wikibooks] Einführung in SQL.

    Gruß Jürgen

    PS. Für MS-SQL gibt es ein spezielles Unterforum, auch wenn dessen Name etwas seltsam festgelegt ist.

    Comment


    • #3
      Vielen Dank für die schnelle Antwort.

      Klappt 1A besten Dank!

      Commands waren mir zwar alle bekannt, nur der zusammenhang nicht so ganz

      Ja ich hab gesehen das es ein Forum dafür gibt, war mir allerdings nicht sicher wohin mein Thema soll, da es ja im Prinzip SQL ist und nicht unbedingt T-SQL...

      Falls das ein Mod anders sieht: Sorry und bitte verschieben...

      Für die Nachwelt hier noch das ausformulierte Ergebnis:

      SELECT Kriterium1,Kriterium3,
      SUM(Wert) AS WERT_SUMME
      FROM TEST.dbo.TEST2
      WHERE (Kriterium2 = 5 OR Kriterium2 = 8)
      GROUP BY Kriterium1,Kriterium3

      TEST = Datenbankname
      TEST2 = Tabellenname

      Ergebnis:

      Kriterium1---Kriterium3---WERT_SUMME
      132-----------A---------------------34
      132-----------B---------------------23

      Vielleicht hilft das ja irgendwann mal noch jemand!

      Vielen Dank nochmal @ Jürgen Thomas

      P.S. Danke für den Buchtipp, habe selber viele SQL Bücher, nur wenig Zeit zum "Lesen und Lernen" aber die muss ich mir glaube ich einmal nehmen!

      Gruß Wish

      Comment


      • #4
        Das Thema ist im richtigen Forum. Hat nichts mit TSQL zu tun

        Comment

        Working...
        X