Announcement

Collapse
No announcement yet.

SQL wie union ergebnisse summieren?

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

  • SQL wie union ergebnisse summieren?

    Hi Leute!

    habe eine abfrage mit:

    ------------------------------------------------------------------------------------
    select Jahr, Monat, sum(anzahl*preis) as Umsatz

    from rechnungen

    where article_id is not null

    group by Jahr, Monat

    union

    select Jahr, Monat, sum(anzahl*preis) as Umsatz

    from aio_rechnugen

    where d.description is not null

    group by Jahr, Monat

    order by Jahr desc, Monat desc;
    ------------------------------------------------------------------------------------



    Jetzt bekomme ich aber 2 Ergebnisse pro Monat und möchte diese wieder summieren, so funktionierts bei mir aber nicht:

    ------------------------------------------------------------------------------------
    select Jahr, Monat, sum(Umsatz) from (

    select Jahr, Monat, sum(anzahl*preis) as Umsatz

    from rechnungen

    where article_id is not null

    union

    select Jahr, Monat, sum(anzahl*preis) as Umsatz

    from aio_rechnugen

    where d.description is not null

    )

    group by Jahr, Monat

    order by Jahr desc, Monat desc;
    ------------------------------------------------------------------------------------


    Hat jemand von euch eine Idee dazu????

  • #2
    Hi,

    Common table Expressions funktionieren hier ganz gut:

    Code:
    with Summe( Jahr, Monat, Umsatz ) as (
    select Jahr, Monat, sum(anzahl*preis) as Umsatz
    from rechnungen
    where article_id is not null
    group by Jahr, Monat
    union
    select Jahr, Monat, sum(anzahl*preis) as Umsatz
    from aio_rechnugen
    where d.description is not null
    group by Jahr, Monat
    order by Jahr desc, Monat desc
    )
    select jahr, monat, sum( Umsatz ) from summe
    group by jahr, monat
    Gruß,
    Karsten

    P.S.: Habe das nur aus dem Kopf getippt - keine Gewähr für Richtigkeit

    Comment


    • #3
      Danke, hat super geklappt! Großes Lob!

      Comment

      Working...
      X