# UNION ALL und Summe bilden



## HeinerK (14. Mai 2013)

Moin!

MySQL 5.1.33.

Ich habe zwei Abfragen. 

Abfrage 1 liefert z.B.:
*WEEK*; *COUNT*
201145; 3
201146; 5
201147; 5

Abfrage 2 liefert z.B.:
*WEEK*; *COUNT*
201144; 7
201146; 5
201148; 5

Was ich brauche ist das hier:
*WEEK*; *COUNT*
201144; 7
201145; 3
201146; 10
201147; 5
201148; 5

Sprich: Die Ergebisse der beiden Abfragen sollen mit UNION 
ALL zusammengelegt werden. Aber wenn es bei *WEEK* Einträge in beiden 
Tabllen gibt, dann brauche ich im Ergebnis nicht zwei Zeilen, sondern will nur 
eine eine Zeile mit der Summe von *COUNT* (síehe Woche 46 in 2011).

Ich weiß nicht ob ich mit UNION ALL überhaupt in die richtige 
Richtung marschiert bin. Über einen Tipp würde ich mich freuen.


----------



## Yaslaw (14. Mai 2013)

UNION ALL über deine 2 Abfragen. Darüber wieder ien SELECT mit einme GROUP BY und einem MAX().

Wenn du uns die 2 ursprünglichen Abfragen zeigst, kann man das ganze ev. auch vereinfachen


```
SELECT
    dat.week,
    MAX(dat.cnt) AS cnt
FROM
    (
        SELECT
            a.week,
            count(a.*) AS cnt
        FROM
            table_a AS a
        UNION ALL
        SELECT
            b.week,
            count(b.*) AS cnt
        FROM
            table_b AS b
    ) dat
GROUP BY
    dat.week
```


----------



## HeinerK (15. Mai 2013)

Danke! 

Funktioniert gut, allerdings mit SUM() statt MAX().


----------



## raiguen (21. Mai 2013)

*Ein Forum reicht nicht?*



HeinerK hat gesagt.:


> Danke!
> 
> Funktioniert gut, allerdings mit SUM() statt MAX().



Wäre ja zu und zu schön und gegenüber der Communuty und allen freundlichen Helfern kooperativ und nett, wenn Du dann auch hier entsprechendes geäussert hättest!!

Keine nette Art... CROSS-POSTINGs werden i.A. nicht gerne gesehen!


----------



## Yaslaw (21. Mai 2013)

raiguen hat gesagt.:


> Keine nette Art... CROSS-POSTINGs werden i.A. nicht gerne gesehen!



Ich habe nix dagegen wenn man in mehreren Foren dasselbe fragt. Schliesslich will man eine Lösung und sucht sich Hilfe. In unserer Netiquette habe ich auch nix dergleichen gesehen. Unschön ist lediglich dass man nicht in allen Foren postet dass das Problem gelöst ist (am besten noch mit der Lösung für andere Leute mit denselben Problemen).

Naja, in den Regeln von PHP ressource ists drin. von der Seite dort - ok, ist nicht mein Mod-Bereich.


----------



## HeinerK (21. Mai 2013)

Habe meine Mitgliedschaft auf php-resource.de soeben beendet. Tutorials.de reicht.


----------



## Yaslaw (21. Mai 2013)

Und ich habe einen Account eröffnet. Man soll den Horizont verbreitern..


----------

