forum Ancestrologie
Ancestrologie - Plugins et Outils => BOA => Discussion démarrée par: patrichol le 25 Novembre 2007 à 09:41:34
-
Bonjour,
y a-t-il un spécialiste sql "pédagogue" qui pourrait me commenter en clair, par action ces lignes que l'on retrouve dans les requêtes :
LEFT OUTER JOIN EVENEMENTS_IND N ON I.CLE_FICHE = N.EV_IND_KLE_FICHE AND N.EV_IND_TYPE= 'BIRT'
LEFT OUTER JOIN T_UNION U ON I.CLE_FICHE = U.UNION_MARI OR I.CLE_FICHE = U.UNION_FEMME
LEFT OUTER JOIN INDIVIDU IC ON (U.UNION_MARI = IC.CLE_FICHE OR U.UNION_FEMME = IC.CLE_FICHE) AND IC.CLE_FICHE <> I.CLE_FICHE
LEFT OUTER JOIN EVENEMENTS_FAM F ON U.UNION_CLEF = F.EV_FAM_KLE_FAMILLE
LEFT OUTER JOIN REF_EVENEMENTS R ON F.EV_FAM_TYPE =R .REF_EVE_LIB_COURT
Merci d'avance
Patrick
-
Bonjour,
Quelques lignes d'une requête sorties de leur contexte peuvent ne plus rien dire.
Ces lignes assurent les jointures entre des tables. "Left join" (syntaxe complète left outer join, mais outer est facultatif) est une jointure externe gauche, ce qui signifie que les enregistremens selectionnés dans la table précédente (à gauche) seront émis, même si la relation décrite par le "on" qui suit n'est pas satisfaite. Dans ce cas comme je suppose que sur une ligne précédente on trouve: "from individu i" (i est l'alias que l'on donne à la table individu), l'enregistrement de la table individu sera émis, même si aucun événement naissance n'existe pour cet individu.
Il y a un excellent cours http://sql.developpez.com/sqlaz/
A+
André