Bonjour,
Je debute un peu avec sql, et d'autres que moi avait fait des propositions bien meilleures dans les messages disparus du forum, mais voici ce que j'ai reussi a faire pour avoir la liste d'ascendance avec les unions. Le mari et la femme sont sur la meme ligne, pour moi ca me va bien car en tassant dans excel j'arrive a imprimer ca en paysage et je trouve ca assez pratique. Mon probleme est que les SOSA 2 (et 3) n'apparaissent pas, car ils n'ont pas d'evenement deces (mais les autres qui sont dans ce cas apparaissent, je n'ai pas tout compris).
Donc tout ca est tres perfectible... J'espere que ca pourra quand meme etre utile a quelqu'un!
Ah oui, il apparait tous les mariages des acendants, y compris ceux qui ne concernent pas deux sosas (exemple : le mariage de mon arriere-grand-pere avec mon arriere-grand-mere, mais aussi son mariage avec sa deuxieme femme). C'est ce que je voulais. Tiens, non, a la reflexion, ca ne doit se produire que pour les ascendants males (donc il faudra que je modifie ca encore un peu...)
Helene
SELECT
I1.NUM_SOSA,
I1.NOM AS NOM_MARI,
I1.PRENOM AS PRENOM_MARI,
EV11.EV_IND_DATE_WRITEN AS NAISS_MARI,
EV11.EV_IND_VILLE AS VILLE_NAISS_MARI,
EV12.EV_IND_DATE_WRITEN AS DECES_MARI,
EV12.EV_IND_VILLE AS VILLE_DECES_MARI,
I2.NOM AS NOM_FEMME,
I2.PRENOM AS PRENOM_FEMME,
EV21.EV_IND_DATE_WRITEN AS NAISS_FEMME,
EV21.EV_IND_VILLE AS VILLE_NAISS_FEMME,
EV22.EV_IND_DATE_WRITEN AS DECES_FEMME,
EV22.EV_IND_VILLE AS VILLE_DECES_FEMME,
F.EV_FAM_DATE_WRITEN AS MARIAGE,
F.EV_FAM_VILLE AS VILLE_MARIAGE
FROM
INDIVIDU I1
LEFT OUTER JOIN EVENEMENTS_IND EV11 ON (I1.CLE_FICHE=EV11.EV_IND_KLE_FICHE)
LEFT OUTER JOIN EVENEMENTS_IND EV12 ON (I1.CLE_FICHE=EV12.EV_IND_KLE_FICHE),
INDIVIDU I2
LEFT OUTER JOIN EVENEMENTS_IND EV21 ON (I2.CLE_FICHE=EV21.EV_IND_KLE_FICHE)
LEFT OUTER JOIN EVENEMENTS_IND EV22 ON (I2.CLE_FICHE=EV22.EV_IND_KLE_FICHE),
T_UNION U
LEFT OUTER JOIN EVENEMENTS_FAM F ON (U.UNION_CLEF=F.EV_FAM_KLE_FAMILLE)
WHERE
(I1.CLE_FICHE = U.UNION_MARI) AND
(I2.CLE_FICHE = U.UNION_FEMME) AND
(EV11.EV_IND_TYPE = 'BIRT') AND
(EV21.EV_IND_TYPE = 'BIRT') AND
(EV12.EV_IND_TYPE = 'DEAT') AND
(EV22.EV_IND_TYPE = 'DEAT') AND
(F.EV_FAM_TYPE = 'MARR') AND
(I1.NUM_SOSA IS NOT NULL) AND
(I1.KLE_DOSSIER = 1)
ORDER BY
I1.NUM_SOSA