et donc dans ma requete je voudrais avoir:
Je voudrais pouvoir compter le nombre d'enfant par année de naissance compris entre 1978 et 2005 et que leur date de déces soit egale a 31/12/9999 Par contre je voudrais faire un autre test dans cette requete c'est qu'en plus de ca je ramene que les enfants dont le parent(table salarie) ait une affectation(table affectation) dont le iddomainepersonnel soit egal a 2129 et que leur date affectation soit la plus grande.
j'ai fait une esquisse comme ca mais ca ne fonctionne pas.
pourriez vous m'aider
ou faire une requete pas a pas du genre
en premier je selcetionne tous les parents qui a la date d'affectation la plus grande ont un iddomainepersonnel = 2129
qu'ensuite je selectionne tous les enfant dont la date de naissance est compris entre 1978 et 2005 et que leur date de datefinenreg soit différente de 31/12/9999
et que seulement apres je selectionne tous les enfants avec ces criteres dont les parents correspondent (criteres d'avant)
merci de votre aide a tous!
esquisse de ma requete:
select to_char(E.datenaissance,'yyyy') as annee, count(E.matricule) from enfant E, Salarie S, Affectation A where S.matricule A.matricule and A.iddomainePersonnel'2129' and S.matricule = E.matricule and to_char(E.datenaissance,'yyyy') <= 2003 and to_char(E.datenaissance,'yyyy') >= 1977 and TO_CHAR(E.datefinenreg,'dd/mm/yyyy') = '31/12/9999'
and A.DateDebChangement = (SELECT MAX(A2.DateDebChangement) FROM Affectation A2 WHERE A.matricule=A2.matricule)
group by to_char(E.datenaissance,'yyyy');
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 21 sept. 2005 à 17:53
salut
je dirai qq chose du genre :
SELECT TO_CHAR(E.datenaissance,'yyyy') AS annee, COUNT(E.matricule)
FROM enfant E
WHERE annee BETWEEN 1978 AND 2005
AND (E.datefinenreg,'dd/mm/yyyy') = '31/12/9999'
AND E.matricule IN ( SELECT Matricule FOM affectation WHERE iddomainepersonnel = 2129)
essaie et dis moi si ca marche, sinon dis moi quelle erreur tu as !