Bonjour,
J'ai une table dont voici un extrait :
Il y a comme ça 10 années (de 1990 à 1999), 96 codes (de 01 à 96) et 20 ages différents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 |annee|code|age|sexe|valeur| |-----|----|---|----|------| |1990 | 01 | 1 | f | 1521 | |1990 | 01 | 1 | h | 1715 | |1990 | 01 | 2 | f | 2562 | |1990 | 01 | 2 | h | 2704 | . . .
Je voudrais construire une requête qui retourne dans une colonne le code, dans une deuxième la somme des valeurs pour les ages 1, 2 et 3 (par exemple) et dans une troisième, la somme des valeurs pour les ages 5 et 6, pour les femmes et pour l'année 1990.
La requête suivante fonctionne pour 1 colonne
Pour la 2ème colonne, je n'y arrive pas. J'ai essayé la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT code,SUM(valeur) FROM table_age WHERE (age = 1 OR age= 2 OR age = 3) AND sexe='f' AND annee=1990 GROUP BY code
mais sans succès, les résultats obtenus dans les colonnes de valeurs ne sont pas bons...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT t1.code,SUM(t1.valeur),SUM(t2.valeur) FROM table_age t1, table_age t2 WHERE (t1.age = 1 OR t1.age= 2 OR t1.age = 3) AND t1.sexe='f' AND t1.annee=1990 AND (t2.age = 4 OR t2.age = 5) AND t2.sexe='f' AND t2.annee=1990 AND t1.code=t2.code AND t1.sexe=t2.sexe AND t1.annee=t2.annee GROUP BY t1.code
Merci par avance pour votre aide.
Partager