Bonjour, j'ai une requete à éffectuer qui me semble compliquer et assez long à expliquer, je suis sous PostgreSQL.
Si vous pouviez m'aider à la construire petit à petit afin, que je puisse également aprendre où me renvoyer sur les bons tutos, d'avance je vous remercie.
le contexte :
je dois encoder le nombres d'heures effectuer par des stagiaires, puis par la suite faire le calcul suivant une période données.
de base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT parnom,parprenom, SUM(regheure) AS Heures FROM participant,registre WHERE regjour >='2005-01-1' AND regjour <='2005-01-31' AND participant.idparticipant=registre.idparticipant GROUP BY parnom,parprenom ORDER BY parnom ASC
mais chaque participant à ses caractéristiques, notament la signature d'un contrat, je pauffine donc comme ceci :
le contrat est l'attribut dosF70bis
là, où je bloque, c'est que quand le participant signe un contrat, il a peut-être déja eu des cours, et donc on ajoute la date à la signature du contrat "dosdatef70bis", je voudrais donc calculer les heures séparément, avant la signature et après la signature, tout en sachant que je connais pas cette date.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT parnom,parprenom, SUM(regheure) AS HeuresF70LE FROM participant,registre,dossier,contrat WHERE regjour >='2005-01-1' AND regjour <='2005-01-31' AND dosf70bis='oui' AND cotypecontrat ='F70 BISLE' AND participant.idparticipant=registre.idparticipant AND participant.idparticipant=dossier.idparticipant AND dossier.idparticipant=registre.idparticipant AND participant.idparticipant=contrat.idparticipant GROUP BY parnom,parprenom ORDER BY parnom ASC
en esperant avoir été clair.
merci de votre aide
Partager