Bonjour,

Je ne suis pas un expert en requête SQL mais j'ai besoin pour un projet de faire un regroupement entre deux tables.

J'ai une table de montant versée et une table indiceSMB.
La table montant versée a des montants qui m'intéressent et une date de versement de ces montants.
La table indice a un indice d'inflation de masse salariale, une colonne année et une autre trimestre.

Je souhaite grouper les deux colonnes pour avoir le montant, l'indice d'inflation, le trimestre et l'année.
J'ai fait cette requête :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
select sum(montantverse) montantverse, to_char(dateversement, 'YYYY') annee, to_char(dateversement, 'MM') mois, valeur ,trimestre
from t_vt_montantverse, t_vt_indicesmb
where t_vt_montantverse.annee = t_vt_indicesmb.annee
and dateversement is not null
and to_char(dateversement, 'Q') = trimestre
group by to_char(dateversement, 'YYYY'), to_char(dateversement, 'MM'), trimestre, valeur
order by to_char(dateversement, 'YYYY') desc, to_char(dateversement, 'MM')

malheureusement ça n'a pas l'air de faire le groupement correctement.

voici la table montantverse:

FKORGANISMECOLLECTEUR    ANNEE    MOIS    MONTANTVERSE    DATEVERSEMENT
56                       2006     12      264,33          01/01/07
56                       2007     1       219,78          01/02/07
56                       2007     2       374,22          01/03/07
56                       2007     3       331,65          01/04/07

la table indiceSMB :

ANNEE	DATEINDICE	VALEUR	TRIMESTRE
2010	31/03/10	102,7	1
2009	31/12/09	101,9	4
2009	30/09/09	101,7	3
2009	30/06/09	101,2	2
2009	31/03/09	100,8	1

Merci