DateAdd() ?

Le
olivier
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de DateAdd() ?

comment faire ?
merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Med Bouchenafa
Le #18396161
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait mieux
fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours faire
un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er janvier
2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de DateAdd()
?

comment faire ?
merci




olivier
Le #18399551
bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa"
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er janvier
2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci







Patrice
Le #18401821
Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une date
ce qui ensuite complique un peu les raisonnements...

Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
l'utilitises puisse faire qq chose pour toi avec un nouveau type de donnée
?)

Sinon même principe que celui expliqué par Med avec hour au lieu de d pour
le calcul des différences par rapport à la date de base...

--
Patrice

"olivier"
bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa"
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er
janvier 2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci











Med Bouchenafa
Le #18409771
Si tu nous disais comment tu inseres des donnees, cela aiderait beaucoup
Par exemple, dis nous ce qui est stocke dans la colonne duree_cours pour un
eleve ayant

le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

bien cordialement
Med bouchenafa

"Patrice" news:
Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une
date ce qui ensuite complique un peu les raisonnements...

Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
l'utilitises puisse faire qq chose pour toi avec un nouveau type de donnée
?)

Sinon même principe que celui expliqué par Med avec hour au lieu de d pour
le calcul des différences par rapport à la date de base...

--
Patrice

"olivier"
bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa" news:
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er
janvier 2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci














olivier
Le #18422821
bonjour,

exemple le 01/01/2008 pour un cour a 10h00 pendant 2h

champs DATE_COURS : 01/01/2008 00:00:00
champs HEURE_COURS : 01/01/2008 10:00:00
champs DUREE : 01/01/2008 02:00:00

bon ok, après reflexion, c'est peut être pas super top comme méthode mais je
reflechirai plus tard a changer de mtéhode mais les base sont déja en prod
alors faudra que je fasse gaffe.
en attendatn, j'aurais besoin d'une réponse si possible

merci a vous



"Med Bouchenafa"
Si tu nous disais comment tu inseres des donnees, cela aiderait beaucoup
Par exemple, dis nous ce qui est stocke dans la colonne duree_cours pour
un eleve ayant

le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

bien cordialement
Med bouchenafa

"Patrice" news:
Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une
date ce qui ensuite complique un peu les raisonnements...

Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
l'utilitises puisse faire qq chose pour toi avec un nouveau type de
donnée ?)

Sinon même principe que celui expliqué par Med avec hour au lieu de d
pour le calcul des différences par rapport à la date de base...

--
Patrice

"olivier"
bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa" news:
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er
janvier 2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci

















Med Bouchenafa
Le #18428641
SELECT nom_eleve, SUM( DATEDIFF(h, DATE_COURS , DUREE ) )
FROM ....
GROUP BY nom_eleve

--
Bien cordialement
Med Bouchenafa


"olivier" a écrit :

bonjour,

exemple le 01/01/2008 pour un cour a 10h00 pendant 2h

champs DATE_COURS : 01/01/2008 00:00:00
champs HEURE_COURS : 01/01/2008 10:00:00
champs DUREE : 01/01/2008 02:00:00

bon ok, après reflexion, c'est peut être pas super top comme méthode mais je
reflechirai plus tard a changer de mtéhode mais les base sont déja en prod
alors faudra que je fasse gaffe.
en attendatn, j'aurais besoin d'une réponse si possible

merci a vous



"Med Bouchenafa"
> Si tu nous disais comment tu inseres des donnees, cela aiderait beaucoup
> Par exemple, dis nous ce qui est stocke dans la colonne duree_cours pour
> un eleve ayant
>
> le mardi trois cours de 2h00
> le mercredi 1 cours de 2h30
>
> bien cordialement
> Med bouchenafa
>
> "Patrice" > news:
>> Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une
>> date ce qui ensuite complique un peu les raisonnements...
>>
>> Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
>> nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
>> l'utilitises puisse faire qq chose pour toi avec un nouveau type de
>> donnée ?)
>>
>> Sinon même principe que celui expliqué par Med avec hour au lieu de d
>> pour le calcul des différences par rapport à la date de base...
>>
>> --
>> Patrice
>>
>> "olivier" >>
>>> bonjour
>>>
>>> c'est la durée en heures cumulées que je cherche..
>>>
>>> par ex le lundi l'élève a deux cours de 1h30
>>> le mardi trois cours de 2h00
>>> le mercredi 1 cours de 2h30
>>>
>>> total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés
>>>
>>> dis moi si je suis pas clair dans mes explications ?
>>>
>>> merci
>>> olivier
>>>
>>>
>>>
>>> "Med Bouchenafa" >>> news:
>>>> Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
>>>> mieux fait l'affaire
>>>> Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
>>>> faire un essai avec un SUM
>>>> Si tu as stocké en jours additionnés á une date de reference ( 1er
>>>> janvier 2005 par exemple)
>>>> Dans ce cas, utilise une requete de ce type
>>>>
>>>> SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
>>>> FROM ....
>>>> GROUP BY nom_eleve
>>>>
>>>> bien cordialement
>>>> Med bouchenafa
>>>>
>>>> "olivier" >>>> news:%
>>>>> bonjour,
>>>>>
>>>>> j'ai une table :
>>>>> id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME
>>>>>
>>>>> comment avoir le total des heures cumulées de cours de chaque élèves ?
>>>>>
>>>>> j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
>>>>> DateAdd() ?
>>>>>
>>>>> comment faire ?
>>>>> merci
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>





Publicité
Poster une réponse
Anonyme