Requête SQL ACCESS

Résolu/Fermé
zywam Messages postés 32 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 15 janvier 2011 - 25 juin 2008 à 16:30
zywam Messages postés 32 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 15 janvier 2011 - 27 juin 2008 à 15:34
Bonjour,
Je voudrais effectuer une requête dans Access, mais je n'arrive pas à la faire dans le mode création. En revanche, je pense qu'il est possible de la faire en SQL, mais je n'y arrive pas. Voila mon problème :
Je veux faire la somme de plusieurs colonnes. J'ai une table qui décrit décrit des opérations immobilières avec un champs LOG_TOT qui indique le nombre total de logements dans l'opération et DATE_ACHEVEMENT qui indique la date d'achèvement des travaux de construction de l'opération immobilière. Hors, il se peut qu'il y ai des opérations immobilières dont la construction s'étale sur plusieurs années (la livraison des logements se fait donc sur plusieurs années). J'ai donc ajouté à ma table LOG_TOT 2 et LOG_TOT 3 ainsi que DATE_ACHEVEMENT 2 et DATE_ACHEVEMENT 3 ce qui permet de voir le nombre de logements pour une année "t" même si l'opération n'est pas complète.
Mais je n'arrive pas a faire la somme des logements achevés pour une année.

Voici le SQL de la requête simple :
SELECT Sum([HLM_Fleury-les-Aubrais].[LOG_TOT 1]) AS [SommeDeLOG_TOT 1], [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 1]
FROM [HLM_Fleury-les-Aubrais]
GROUP BY [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 1]
HAVING ((([HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 1])="1986"));

Comment je fait pour aussi prendre en compte LOG_TOT 2 et LOG_TOT 3 dans cette requête?
Merci pour votre aide.
Julien

1 réponse

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
25 juin 2008 à 17:42
Bonjour,

Tu peux utiliser l'instruction UNION,
SELECT Sum([HLM_Fleury-les-Aubrais].[LOG_TOT 1]) AS [SommeDeLOG], [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 1]
FROM [HLM_Fleury-les-Aubrais]
WHERE [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 1])="1986"
GROUP BY [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 1]
UNION
SELECT Sum([HLM_Fleury-les-Aubrais].[LOG_TOT 2]) AS [SommeDeLOG], [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 2]
FROM [HLM_Fleury-les-Aubrais]
WHERE [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 2])="1986"
GROUP BY [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 2]
UNION
SELECT Sum([HLM_Fleury-les-Aubrais].[LOG_TOT 3]) AS [SommeDeLOG], [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 3]
FROM [HLM_Fleury-les-Aubrais]
WHERE [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 3])="1986"
GROUP BY [HLM_Fleury-les-Aubrais].[DATE_ACHEVEMENT 3];


A plus
0
zywam Messages postés 32 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 15 janvier 2011 29
27 juin 2008 à 15:34
C'est exactement ce qu'il me fallait.
Merci!!!
0