Salut tout le monde!
J'utilise SQLServer2000
et voici mon problème :
J'ai deux table :
plTache : table qui contient mes taches
plTP : table qui dit quel tache est faite a quelle date par tel agent
j'ai 2 types de taches : les taches normales et le taches fixes.
les taches fixes sont contenu.
Les taches normales s'intercalent entre les taches fixes.
dans ma table plTP on connait la date de debut de la tache et la duree.
il faut donc mettre les taches normal dans les trous(entre 2 dates) laissé par les taches fixes.
Il faut que je recupere des enregistrments entre 2 dates.
voici ce que j'ai essayé :
Ca marche pas, c'est juste pour vous donner une idée du problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 declare @agent varchar(50) select @agent = 'A8' declare @dateDeb varchar(10) select @dateDeb = '20050530' declare @dateFin varchar(10) select @dateFin = '20050611' select distinct A.agentTP,convert(varchar(10),A.dateTP,112)as dateTP, A.dureeTP, C.referenceTAC,C.typeTAC, C.couleurTAC,C.descriptionLongTAC from plTP A, plTACHE C, plTP B,pltache D where A.tacheTP=C.referenceTAC and A.agentTP = @agent and C.typeTAC !='TACHE FIXE' and ( A.dateTP >= @dateDeb and A.dateTP<@dateFin or (A.dateTP<@dateDeb and A.dateTP+(A.dureeTP+SUM(B.dureetp)*(7/5)) >=@dateDeb)) and B.tacheTP=D.referenceTAC and B.agentTP = @agent and D.typeTAC ='TACHE FIXE' and ( B.dateTP>= @dateDeb and B.dateTP<@dateFin or (B.dateTP<@dateDeb and B.dateTP+(B.dureeTP*(7/5)) >=@dateDeb)) order by C.typeTAC,C.referenceTAC
Pour cette requete, mon probleme est que je ne peux pas faire le SUM.
Donc si quelqu'un a une solution, même si elle difère completment, je prends.
Merci d'avance!
Partager