Bonjour,
LA structure de ma table enfantaccueilpointage se présente ainsi :
id
datedebut
arrivée
départ
durée
année
prevision
idtableaccueil
idtableenfant
idtableenfantaccueil
Dans arrivee et depart je stock des heures,la colonne prévision qui contient 0 ou 1 sert a savoir si les heures enregistré sont des heures "réelles" ou des heures prévisionnel, pour le meme jour il peu y avoir un enregistrement avec des heures réelle et u autre avec des heures previsionnel.
Maintenant en fait j'ai besoin pour un jour donnée d'afficher et les prevision et les heures reelles dans un meme resultat de requete.
Du coup j'ai ecrit cette requete :
Cette requete fonctionne assez bien mon seul souci et quand pour un jour donnée j'ai des arrive et depart previsionnel ou des arrivee et depart relle , mes heures ne s'affiche pas , elle s'affiche seulement quand j'ai les 2 pour le meme jour et je n'arrive pas a trouver comment modifier ma requete pour avoir soit l'un soit l'autre soit les deux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 select b.idtableenfantaccueil,b.idtableenfant,b.idaccueil,if(b.datedebut = '2011-12-12', b.arrivee,'00:00') as pointagearrivee, if( b.datedebut = '2011-12-12',b.depart ,'00:00')as pointagedepart,if( a.datedebut = '2011-12-12',a.arrivee,'00:00') as previsionarrivee, if( a.datedebut = '2011-12-12',a.depart ,'00:00') as previsiondepart,a.datedebut as deb1,b.datedebut as deb2 from (select * from enfantaccueilpointage where prevision=0 and datedebut = '2011-12-12') b inner join (select * from enfantaccueilpointage where prevision=1 and datedebut= '2011-12-12' ) as a ON (b.enfantaccueilid=a.enfantaccueilid and b.enfantid =b.enfantid and b.annee = a.annee and b.accueilid= a.accueilid and a.datedebut = b.datedebut) where (a.datedebut = '2011-12-12' or b.datedebut = '2011-12-12' or (a.datedebut is null and b.datedebut is null))) c ON (enfantaccueil.enfantaccueilid=c.enfantaccueilid and accueil.accueilid = c.accueilid and enfantaccueil.enfantid = c.enfantid and (anneedate.jour = c.deb1 or anneedate.jour = c.deb2)))
Merci
Partager