bonjour,
je cherche a faire une requete d'aggrégation sur 3 tables dont une qui est fille d'une table plus grosse, je ne comprends pas comment faire.
mon schéma simplifier:
ce que je souhaite, c'est pour un mois la somme par section des boites mail, du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 section: columns: name: string(50) user: columns: firstname: string(50) lastname: string(50) section_id: integer relations: section: foreignAlias: listuser asset: columns: type: string(50) name: string(50) user_id: integer relations: user: foreignAlias: listasset email: inheritance: extends: asset type: columns_aggregation keyField: type keyValue: email columns: serveur: string(50) email_historic: columns: email_id: integer date: date size: integer relations: email: foreignAlias: HistoricSize
j'ai créer la requete DQL suivante mais ça ne marche pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT s.name, sum(e.size) FROM section s LEFT JOIN user u ON u.section_id = s.id LEFT JOIN email e ON e.user_id = u.id GROUP BY s.name WHERE e.date="2001-06-01"
message d'erreur: Unknown relation alias HistoricSize
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ->SELECT('s.name, sum(e.size)') ->FROM('section s') ->leftJoin('s.listuser u') ->leftJoin('u.listasset e') ->leftJoin('e.HistoricSize') ->GROUPBY('s.name') ->where('e.date=?','2011-096-01')
Partager