GROUP BY op alle queries
Ik heb een query met daarin 2 losse queries dmv UNION.
Als resultaat krijg ik het volgende:
naam | aantal
Pietje | 15
Klaasje | 10
Keesje | 8
Henkie | 6
Klaasje | 2
Pietje | 5
De 1e 4 resultaten zijn van de 1e query en de overige van de 2e query.
Nu wil ik dat ie alle dubbele namen bij elkaar optelt.
Dus Pietje wordt 20 en Klaasje wordt 12.
Dit is de query
Heb ook al geprobeerd om met subqueries te werken maar daar krijg ik allerlei foutmeldingen mee.
Weet iemand hoe ik dit probleem kan oplossen? Loop hier nu al enkele dagen mee en heb van alles geprobeerd maar zie door de bomen het bos niet meer.
Alvast bedankt
Als resultaat krijg ik het volgende:
naam | aantal
Pietje | 15
Klaasje | 10
Keesje | 8
Henkie | 6
Klaasje | 2
Pietje | 5
De 1e 4 resultaten zijn van de 1e query en de overige van de 2e query.
Nu wil ik dat ie alle dubbele namen bij elkaar optelt.
Dus Pietje wordt 20 en Klaasje wordt 12.
Dit is de query
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
CONCAT_WS(' ', forename, insertion, relation.name) as naam,
COUNT(obj2_veritems.id_relation) as aantal
FROM
obj2_veritems
INNER JOIN relation ON (obj2_veritems.id_relation = relation.id)
GROUP BY
obj2_veritems.id_relation
UNION
SELECT
CONCAT_WS(' ', forename, insertion, relation.name) as naam,
COUNT(obj2_veritems_link.id_relation) as aantal
FROM
obj2_veritems_link
INNER JOIN relation ON (obj2_veritems_link.id_relation = relation.id)
GROUP BY
obj2_veritems_link.id_relation
ORDER BY
aantal DESC
CONCAT_WS(' ', forename, insertion, relation.name) as naam,
COUNT(obj2_veritems.id_relation) as aantal
FROM
obj2_veritems
INNER JOIN relation ON (obj2_veritems.id_relation = relation.id)
GROUP BY
obj2_veritems.id_relation
UNION
SELECT
CONCAT_WS(' ', forename, insertion, relation.name) as naam,
COUNT(obj2_veritems_link.id_relation) as aantal
FROM
obj2_veritems_link
INNER JOIN relation ON (obj2_veritems_link.id_relation = relation.id)
GROUP BY
obj2_veritems_link.id_relation
ORDER BY
aantal DESC
Heb ook al geprobeerd om met subqueries te werken maar daar krijg ik allerlei foutmeldingen mee.
Weet iemand hoe ik dit probleem kan oplossen? Loop hier nu al enkele dagen mee en heb van alles geprobeerd maar zie door de bomen het bos niet meer.
Alvast bedankt
Ik weet niet zeker of het is wat je zoekt maar je zou WITH ROLLUP kunnen proberen toe te voegen na je group by:
Die doet een super aggegrate
Die doet een super aggegrate
Volgens mij is het sneller om je structuur om te gooien. Als je gewoon alle relaties in obj2_veritems_link zet i.p.v. obj2_veritems, dan los je veel problemen op. Dit is al de tweede keer dat je tegen zo'n probleem aanloopt en het zal nog vaker gaan gebeuren.
Dus je zet alleen boekingsinformatie in obj2_veritems en de personen in obj2_veritems_link. Het is even wat werk, maar ik denk dat het de moeite waard is.
Dus je zet alleen boekingsinformatie in obj2_veritems en de personen in obj2_veritems_link. Het is even wat werk, maar ik denk dat het de moeite waard is.
@Eric
dat is helaas niet mogelijk. Er werken meerdere reserveringssystemen op deze structuur.
In het begin bestond alleen obj2_veritems omdat je toen alleen voor 1 persoon kon reserveren.
Daarna is de tabel obj2_veritems_link erbij gekomen voor de reserveringen van 2 of meerdere personen.
Overal gaat het goed met queries maken enzo.
Alleen nu ben ik bezig met het maken van statistieken.
Ik ben nu bij een toplijst van het aantal reserveringen per persoon.
Dus ik wil uit allebei de tabellen alle relaties ophalen en samenvoegen en dan optellen.
Ik kan echt niks aan de structuur wijzigen omdat dit binnen ons bedrijf nu eenmaal zo is opgezet.
dat is helaas niet mogelijk. Er werken meerdere reserveringssystemen op deze structuur.
In het begin bestond alleen obj2_veritems omdat je toen alleen voor 1 persoon kon reserveren.
Daarna is de tabel obj2_veritems_link erbij gekomen voor de reserveringen van 2 of meerdere personen.
Overal gaat het goed met queries maken enzo.
Alleen nu ben ik bezig met het maken van statistieken.
Ik ben nu bij een toplijst van het aantal reserveringen per persoon.
Dus ik wil uit allebei de tabellen alle relaties ophalen en samenvoegen en dan optellen.
Ik kan echt niks aan de structuur wijzigen omdat dit binnen ons bedrijf nu eenmaal zo is opgezet.
Ik denk dat het dan zoiets als mijn eindconclusie uit je vorige topic gaat worden.




