Announcement

Collapse
No announcement yet.

dopplete IDs deren werte addieren

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

  • dopplete IDs deren werte addieren

    Hallo,

    wie kann ich bei doppelten IDS die zwei werte haben, addieren und anzeigen und das zu einem ID.

    BSP:
    ID = 1 hat den wert = 5
    ID = 1 hat den wert = 10 und ich will das am ende

    ID=1 wert=15 haben.

    ich brauche das für oracle sql

  • #2
    Originally posted by chicco100 View Post
    ich brauche das für oracle sql
    Dann solltest du die Frage nach der Struktur dieses Forums im Oracle-Unterforum stellen. Aber du hast natürlich recht: Es ist eine allgemeingültige Frage, und auch die Lösung gilt allgemein:
    Code:
    SELECT ID, SUM(Wert) FROM ...
      GROUP BY ID
    Vielleicht hilft dir insgesamt [wikibooks] Einführung in SQL weiter.

    Gruß Jürgen

    Comment


    • #3
      Hi,

      danke für deine antwort. Werde das nächste mal im Unterforum nachfragen. (Sorry,hatte es nicht gesehen)

      LG
      Zuletzt editiert von chicco100; 11.03.2010, 22:19. Reason: nachtrag

      Comment


      • #4
        hallo,

        hab nochmal dies bezüglich ne frage: Wie oben erwähnt, nur das ich ne 2 ID habe, wo auch die werte addiert werden müssen

        BSP:

        ID = 1 hat den wert1 = 5
        ID = 1 hat den wert 1= 10
        ID = 2 hat den wert 2= 11
        ID = 2 hat den wert 2= 3

        nach der abfrage soll stehen:

        ID 1 = wert 1 15
        ID 2 = wert 2 14

        wenn ich

        SELECT ID, SUM(Wert1), sum(WERT2) FROM ...
        GROUP BY ID

        klappt das nicht so da steht dann immer das doppelte.

        ID1 = 30
        ID2 = 28

        Comment


        • #5
          Was steht denn im FROM?

          Comment


          • #6
            from wert1, wert2

            Comment


            • #7
              Originally posted by chicco100 View Post
              hallo,

              hab nochmal dies bezüglich ne frage: Wie oben erwähnt, nur das ich ne 2 ID habe, wo auch die werte addiert werden müssen

              BSP:

              ID = 1 hat den wert1 = 5
              ID = 1 hat den wert 1= 10
              ID = 2 hat den wert 2= 11
              ID = 2 hat den wert 2= 3

              nach der abfrage soll stehen:

              ID 1 = wert 1 15
              ID 2 = wert 2 14

              wenn ich

              SELECT ID, SUM(Wert1), sum(WERT2) FROM ...
              GROUP BY ID

              klappt das nicht so da steht dann immer das doppelte.

              ID1 = 30
              ID2 = 28
              Sorry hab mich vertippt

              ID = 1 hat den wert1 = 5
              ID = 1 hat den wert 1= 10
              ID = 1 hat den wert 2= 11
              ID = 1 hat den wert 2= 3

              ID 1 = wert 1 15
              ID 1 = wert 2 14

              so soll es aussehen

              Comment


              • #8
                warum steht da wert1, wert2? Dann machst du einen JOIN auf die Tabelle und das ist der Grund warum die Werte doppelt auftauchen. Kartesisches Produkt der Tabellen.

                Code:
                SELECT id, wert2, SUM(wert1)
                FROM tabelle
                GROUP BY id, wert2

                Comment


                • #9
                  ja das sind zwei Tabellen in denen die selbe ID vorkommt. Wenn in der 1 Tabelle steht wie. ID 1 = werta 2 und dann nochmal ID1 = werta 3 dann möchte ich das in meiner select abfrage steht

                  ID1 = werta 5 das funktioniert mit sum(werta)

                  wenn ich die zweite Tabelle dazu nehme, wo auch stehen könnte ID1 = wertb 3 und dann nochmal ID1 = wertb 2

                  dann soll da stehen ID1 | werta 5 | wertb 5

                  Comment


                  • #10
                    Dann musst du noch einen JOIN machen:

                    [highlight=sql]
                    SELECT id, sum(tab1.wert1), sum(tab2.wert2)
                    FROM tabelle1 tab1
                    JOIN tabelle2 tab2 ON tabelle2.fkId = tabelle1.id
                    GROUP BY id
                    [/highlight]

                    Du musst aber aufpassen dass bei dieser Art JOIN nur die Ids genommen werden die in BEIDEN Tabellen vorkommen. Wenn Du alle Ids haben möchtest musst du einen RIGHT/LEFT/FULL OUTER JOIN verwenden.

                    An dieser Stelle sei noch auf das SQL Wikibook verwiesen. Dort findest Du alles zum Thema SQL insbesondere auch JOINs.

                    Comment

                    Working...
                    X