Probleme avec left join, day()

darkpoulpo Messages postés 76 Date d'inscription lundi 21 mars 2005 Statut Membre Dernière intervention 29 novembre 2009 - 7 juil. 2007 à 02:58
moietmonlego Messages postés 5 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 23 octobre 2012 - 8 juil. 2008 à 13:51
salut, voila, jai 2 tables (poste et mois),
 
poste contient 2 champs :
- cle unique (qui correspond aussi a un numero de poste)
- datedebut en format datetime

mois contient un champs:
- jour (avec 31 enregistrements -> 1 2 3 4 5 6 7 8.... jusqua 31)

le but etant d'afficher pour les 31 jours du mois de juillet (pour chaque jour de 1 a 31) les numeros de poste fait chaque jour, et bien sur si ya pas eu de poste ce jour la, mettre NULL pour l'instant

donc j'ai fais :

select jour,group_concat(cle) as postes from mois left join poste on jour = day(datedebut)
where month(datedebut) = 7
group by jour
order by jour

seulement, je me retrouve a avoir uniquement les jours ou il y a eu des postes, il me manque donc les jours sans, je n'arrive pas a comprendre pourquoi, merci pour votre aide

1 réponse

moietmonlego Messages postés 5 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 23 octobre 2012
8 juil. 2008 à 13:51
Salut,
Il faut faire une lieaison ouverte sur la table dont tu veux toutes les données.

ici :

select jour,group_concat(cle) as postes from mois left outer join poste on jour = day(datedebut)
where month(datedebut) = 7
group by jour
order by jour

Bon courage.

Mickael
0
Rejoignez-nous