Bonjour,
Je n'arrive à comprendre la règle des parenthèses dans une syntaxe SQL ACCESS.
J'ai besoin de faire des Select imbriqués : une table va pointer dans deux jointures chacune constituée par une requete
Si j'ajoute une seconde jointure cela plante.
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 la syntaxe suivante fonctionne SELECT CAL_Mois AS Mois, count(*) AS x, sum(A.nb) AS 'Nombre de Jours 2013', sum(A.Cumul) AS 'Cumul 2013' FROM met_Mois LEFT JOIN (SELECT HIS_Date, 1 as nb, Sum(HIS_RAIN_Moyenne) AS Cumul FROM met_historique WHERE val(Left(HIS_Date,4))=2013 GROUP BY HIS_Date HAVING Sum(HIS_RAIN_Moyenne)<>0) A on Mid(A.HIS_Date, 6, 2) = met_Mois.CAL_Mois GROUP BY CAL_Mois
Je sais qu'il faut mettre certains blocs entre () mais je ne comprends pas lesquels.
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 SELECT CAL_Mois AS Mois, count(*) AS x, sum(A.nb) AS 'Nombre de Jours 2013', sum(A.Cumul) AS 'Cumul 2013', sum(B.nb) AS 'Nombre de Jours 2012', sum(B.Cumul) AS 'Cumul 2012' FROM met_Mois LEFT JOIN (SELECT HIS_Date, 1 as nb, Sum(HIS_RAIN_Moyenne) AS Cumul FROM met_historique WHERE val(Left(HIS_Date,4))=2013 GROUP BY HIS_Date HAVING Sum(HIS_RAIN_Moyenne)<>0) A on Mid(A.HIS_Date, 6, 2) = met_Mois.CAL_Mois LEFT JOIN (SELECT HIS_Date, 1 as Nb, Sum(HIS_RAIN_Moyenne) AS Cumul FROM met_historique WHERE val(Left(HIS_Date,4))=2013-1 GROUP BY HIS_Date HAVING Sum(HIS_RAIN_Moyenne)<>0) B ON mid(B.HIS_Date,6,2) = met_Mois.CAL_Mois GROUP BY CAL_Mois
Partager