Bonjour,
Je dispose de ces deux tables :
Calendrier
datejour (timestamp)
10/01/2010 00:00:00
11/01/2010 00:00:00
12/01/2010 00:00:00
...
20/01/2010 00:00:00
Donnescarto
datej (timestamp) Montant (int)
10/01/2010 00:00:00 12
12/01/2010 00:00:00 11
...
20/01/2010 00:00:00 3
Vous noterez qu'il n'y a pas de ligne pour le 11 janvier.
Je cherche à créer une requête qui me permettrait d'afficher tous les enregistrements de la table calendrier qui est complête (tous les jours de l'année) avec les éventuels enregistrements de la table donneescarto pour laquelle certaines données journalières n'existent pas (certains jours ne sont pas renseignés) et afficher un montant NULL à la place.
ça devrait donc permettre d'afficher un résultat qui ressemble à ça :
datejour (timestamp) Montant (int)
10/01/2010 00:00:00 12
11/01/2010 00:00:00 11
12/01/2010 00:00:00 NULL
...
20/01/2010 00:00:00 3
J'ai essayé avec la requete suivante :
1 2 3 4
| SELECT c.datejour, d.Montant
FROM calendrier c
LEFT OUTER JOIN donneesCarto d ON c.datejour = d.datej
WHERE YEAR(c.datejour) = 2010 |
Or, ma requête me retourne
datejour (timestamp) Montant (int)
10/01/2010 00:00:00 12
11/01/2010 00:00:00 11
...
20/01/2010 00:00:00 3
J'imagine que le problème vient de la jointure. Auriez vous une idée de ce qu'il faudrait changer pour que cela retourne ce que je recherche ?
Par avance, merci de vos propositions.
PS : J'ai simplifié à l'extrême la requête car il y a pas mal de champs calculés.
Partager