1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Gruppierte Summe über zwei Tabellen als ein Ergebnis...

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von MysterioJN, 28 September 2016.

  1. MysterioJN

    MysterioJN Datenbank-Guru

    Hallo zusammen,

    benötige wieder mal eine "Fortbildung" durch Euch. In Excel würde ich es mit Pivottabelle lösen, aber in MSSQL...

    Ziel soll es sein, dass mir ein SELECTdie Ergebnisse beider Tabellen in eine Tabelle jahresweise summiert.

    Beispiel:

    Tabelle 1
    2013, 50
    2014,10

    Tabelle 2
    2012, 7
    2013, 60
    2014, 5

    Ergebnis soll dann so aussehen:
    2012, 7
    2013, 110
    2014, 15


    Hier mal die Selects:
    Code:
    SELECT
    Messen.Jahr,
    SUM(Messen.Absatz)
    
    FROM Messen
    
    GROUP BY Messen.Jahr
    
    
    ;
    
    
    SELECT
    Downloads.Jahr,
    SUM(Downloads.Absatz)
    
    FROM Downloads
    
    GROUP BY Downloads.Jahr


    Irgendwie hab ich das Gefühl, das es nicht kompliziert sein kann... komm nur nicht drauf...
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Code:
    test=*# select * from t1;
     jahr | anzahl
    ------+--------
     2013 |  50
     2014 |  10
    (2 Zeilen)
    
    test=*# select * from t2;
     jahr | anzahl
    ------+--------
     2012 |  7
     2013 |  60
     2014 |  5
    (3 Zeilen)
    
    test=*# select jahr, sum(anzahl) from (select * from t1 union all select * from t2) foo group by jahr order by jahr;
     jahr | sum
    ------+-----
     2012 |  7
     2013 | 110
     2014 |  15
    (3 Zeilen)
    
     
  3. MysterioJN

    MysterioJN Datenbank-Guru

    Ok nach ein paar Verständnisproblemen habe ich es dank dir hinbekommen.
    Wichtig war, das es in beiden Tabellen einen Absatz gab, sonst geht es nicht.

    Tausend Dank!



    Code:
    SELECT
        Jahr,
        SUM(Absatz) AS Absatz
    
    FROM
        (
            SELECT
                Messen.Jahr,
                Messen.Absatz
            FROM Messen
            WHERE Messen.BstNr = '1430'
           
           
            UNION ALL
            SELECT
                Downloads.Jahr,
                Downloads.Stueck
            FROM Downloads
            WHERE Downloads.BstNr = '1430'
           
           
        ) alle
    
    GROUP BY Jahr
    
    ORDER BY Jahr
     
    Zuletzt bearbeitet: 28 September 2016
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden