lamziouaq2
Messages postés17Date d'inscriptionlundi 19 mars 2007StatutMembreDernière intervention11 mars 2008
-
19 févr. 2008 à 15:13
lamziouaq2
Messages postés17Date d'inscriptionlundi 19 mars 2007StatutMembreDernière intervention11 mars 2008
-
22 févr. 2008 à 11:55
Bonjour tout le monde !!!!!!!!!!
Je Suis en Stage et j'aimerais calculer le nombre de
retards d'un employé sachant que je dispose de la base de données suivante:
lassaad83
Messages postés148Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention 1 décembre 2009 19 févr. 2008 à 18:17
T'aurais peut être du poser ta question sur www.sqlfr.com ...
Cependant voila ma version :
SELECT CONVERT(VARCHAR(10),MADATE,103) [LE], NOM ,
DATEDIFF(MINUTE,CONVERT(VARCHAR(10),MADATE,103)+' 08:15',MADATE) [NOMBRE DE MINUTE DE RETARD]
FROM CODESOURCE
WHERE UPPER(ETAT) = 'ENTREE'
--> ICI TU CHOISIE UNE DATE PRÉCICE
AND CONVERT(VARCHAR(10),MADATE,103)='01/01/2001'
--> OU BIEN TU CHOISIE UNE PÉRIODE
--AND CONVERT(VARCHAR(10),MADATE,103) BETWEEN '01/01/2001' AND '19/02/2008'
lamziouaq2
Messages postés17Date d'inscriptionlundi 19 mars 2007StatutMembreDernière intervention11 mars 2008 20 févr. 2008 à 16:01
Merci bcp les amis
Voila la requete que j'qi pu faire mais celle ci m'apporte toute les entrees apres 8:15:00 mais ce que je veux c'est n'est pas pour tout les entree mais seulement pour la 1er entrree du date
select distinct employeeNumber, lastname ,min(convert(datetime,hostdate,108)) as [inf],convert(varchar(20),hostdate,108) as time From feuil1
where convert(varchar,hostdate,103)='02/01/2007'
and readerdescription like '%ent%'
group by employeeNumber,lastname,hostdate
having (convert(varchar(20),hostdate,108)) > '08:15:00.00'
Vous n’avez pas trouvé la réponse que vous recherchez ?
lamziouaq2
Messages postés17Date d'inscriptionlundi 19 mars 2007StatutMembreDernière intervention11 mars 2008 22 févr. 2008 à 11:55
Voila la bonne Reponse Merci bcp pour votre effort
SELECT MAtricule, Nom, Min (CONVERT(datetime ,Madate, 108))
FROM Matable
WHERE CONVERT(varchar, Madate, 103) = '02/01/2007'
and (CONVERT(varchar(20), Madate, 108)) > '08:15:00.00'
AND readerdescription = 'Entree'
GROUP BY MAtricule, Nom
pas de having qui porte sur des condition après le groupement.
Le groupement "group by" ne doit porter que sur les colonnes en commun sur les résultats regroupés (+ les fonctions d'aggrégation min, max ...).
si tu met la date ou l'heure dans le groupement, vur que c'est différent pour tout le monde, ça ne regroupe plus rien <?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://www.clubic.com/api/forum/img/smiley/clinoeil.gif" src="file:///C:/DOCUME~1/testsql/LOCALS~1/Temp/msoclip1/02/clip_image001.gif"></v:imagedata></v:shape>
d'autre part, on emploi distinct ou group by, mais pas les 2 à la fois.
est ce possible d'executer la requete pour tout un mois, pas seulment pour un seul jour donné
alors pour chaque employé On aura...nombre de retards é aussi Le cumule des retards