Group By na Union

Status
Niet open voor verdere reacties.

maomanna

Gebruiker
Lid geworden
20 feb 2014
Berichten
234
Ik heb twee identieke query's gemaakt, maar met wat andere data erin.
de data bestaat uit getallen welke ik wil optellen obv sFunctieFamilie.

SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetN12
UNION
SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetV12
komt in de buurt maar van elke query laat hij los de Compleet, Totaal, Gecontroleerd zien.

Group By sFunctieFamilie werkt niet, dus ben ik opzoek naar een andere manier.
 
wat denk je hiervan? een select op uw union resultaat... hievan kan je wel weer een groupby doen...
Code:
select * from (

SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetN12
UNION
SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetV12) x
group by x.sFunctieFamilie
 
Helaas geeft hij de foutmelding selecties obv * niet gegroepeerd kunnen worden.
 
Code:
select x.sFunctieFamilie, x.Compleet, x.Totaal, x.Gecontroleerd from (

SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetN12
UNION
SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetV12) x
group by x.sFunctieFamilie

zal inderdaad beter zijn...
 
Had dat al geprobeerd.
Dan krijgen we de melding:
U probeert een query uit te voeren waarbij de opgegeven expressie Compleet geen deel uitmaakt van een statistische functie.

Zit te denken aan iets als
Compleet: (SOM([QcompleetN12]![Compleet] + [QcompleetV12]![Compleet])
Maar daar trapt hij ook niet in.
 
wat zit er in compleet en totaal? wrch zal er sum(totaal) en sum (compleet)?? en sum van (gecontroleerd)??? moeten toegevoegd worden... kan je hiervan een som nemen van compleet of gecontroleerd? is moeilijk zonder database ...
 
Je moet Group By gebruiken voor elk veld dat je wilt zien. Dat doe je nu niet. En SUM voor het veld dat je wilt totaliseren.
 
Heb het opgelost.

Eerst heb ik de UNION query gemaakt:

Code:
SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QcompleetN12
UNION ALL
SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QcompleetV12;

Vervolgens daar een nieuwe query op gemaakt:

Code:
SELECT QcompleetTotaal.sFunctieFamilie, SUM(QcompleetTotaal.Compleet) AS Compleet, Sum(QcompleetTotaal.Totaal) As Totaal, SUM(QcompleetTotaal.Gecontroleerd) as Gecontroleerd
FROM QcompleetTotaal
GROUP BY QcompleetTotaal.sFunctieFamilie
ORDER BY QcompleetTotaal.sFunctieFamilie;

Nu spuugt hij mooi de totalen uit.
 
Toch kan het in één query:
Code:
SELECT Alias.sFunctieFamilie, Sum(Alias.Compleet) AS Compleet, Sum(Alias.Totaal) AS Totaal, Sum(Alias.Gecontroleerd) AS Gecontroleerd
FROM (SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetN12
UNION ALL
SELECT sFunctieFamilie, Compleet, Totaal, Gecontroleerd FROM QCompleetV12)  AS Alias
GROUP BY Alias.sFunctieFamilie;
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan