Hallo Ilja,
kann den mysql UNION mit GROUP BY verwenden, schließlich will er die summen bilden bzw, alle datensätze aufzählen ?
wenn es nur um die Summe der Anzahl der entsprechenden Datensätze geht, benötigt Paul kein GROUP BY, sondern nur ein Subselect - und das geht mit MySQL 4.1 definitiv, das habe ich getestet.
Schritt 2 wäre bei meiner Lösung somit das Anwenden von COUNT() in den Einzelabfragen, selbstverständlich bleibt es bei UNION ALL, schließlich könnte es genausoviele Außen- wie Innendienstler geben und zum Schluss wird in
Schritt 3 die bisherige Abfrage in ein Subselect gepackt, diesem ein Alias verpaßt und außen summiert.
Geht, wie bereits erwähnt. Führt zum hoffentlich gewünschten Ergebnis.
Vielleicht gäbe es auch eine Lösung, bei der man die Werte zunächst in drei Spalten einer einzigen Zeile packt und diese dann einfach addiert, so wie dies Paul innerhalb des Aufrufs von SUM() in seinem Statement getan hatte, d.h. also doppelt aufsummieren wollte.
Über eine alternative Lösung mache ich mir allerdings keine großen Gedanken, da meine funktioniert. Außerdem finde ich sie nachvollziehbar. Grundsätzlich halte ich das Beispiel für schlecht gewählt. Vielleicht hat Paul ja ganz andere Daten, als sein Beispiel glauben läßt. In diesem Fall wiederhole ich gern: es ist sinnvoller, genau die Strukturen hier (halt mit Beispieldaten) anzugeben, bei denen das Problem auftritt.
Freundliche Grüße
Vinzenz