Nombre de Retard

lamziouaq2 Messages postés 17 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 11 mars 2008 - 19 févr. 2008 à 15:13
lamziouaq2 Messages postés 17 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 11 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:





      MAtricule  |      Nom       |                 MaDate          
|       Etat
      1                  |      popo       |   01/01/2001 08:15         
|       Entree
       2                 |       papa      |    01/01/2001 
08:00        |       Entree
      3                  |       pipi        |    
01/01/2001 08:30        |       Entree
      1                  |       popo     
|    01/01/2001 12:00         |        Sortie
      2                  |       
papa     |    01/01/2001  13:00        |       Sortie
      3                 
|         pipi      |   01/01/2001 13:15          |       Sortie



On ne prend en consideration un retard que quand l'employé depasse 8h15.



P.S: On travaille avec ASP.NET





voila la
requete que j'ai pu faire
donc si vous pouvez m'aider merci d'avance





select
Matricule, Nom ,min(convert(datetime,date,108)) as  [inf] From Matable











where convert(varchar(50),date,103)='01/01/2001'











and  Etat like 'Entree'










having inf >'08:15:00'








(erreure sur...Champ inf n'est pas declarer :s)

5 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
19 févr. 2008 à 17:36
Les réponses données ici : http://www.vbfrance.com/infomsg_NOMBRE-RETARDS_1078322.aspx#5

ne t' ont pas plu ?

Commences d' abord par rendre la politesse à ceux qui ont répondu avant de dupliquer ta demande.

<hr />
... Y'en a même qui disent qu'ils m'ont vu voler.
<hr />
/PRE>
0
lassaad83 Messages postés 148 Date d'inscription vendredi 28 avril 2006 Statut Membre Derniè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'



--> POUR FAIRE UNE REHERCHE PAR MATRICULE

AND MATRICULE = 1

GROUP BY MADATE,NOM
0
amikove Messages postés 42 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 15 juin 2008
19 févr. 2008 à 22:36
 voila pourQuoi il a poster encore sa question ici
c'est pas pour n'import Quoi







           jrivet




Membre Club   


Vous travaillez en ASP.NET et vous postez sur VBFrance ...

PCPT
(Admin CS)






déplacer vers aspfr.com ou sqlfr.com, mon coeur balance...

lassaad83
Membre Club
T'aurais peut être du poser ta question sur www.sqlfr.com ...

 
0
lamziouaq2 Messages postés 17 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 11 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' 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lamziouaq2 Messages postés 17 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 11 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

Merci beaucoup !
0
Rejoignez-nous