forum Ancestrologie

Ancestrologie - Plugins et Outils => BOA => Discussion démarrée par: patrichol le 25 Novembre 2007 à 09:41:34

Titre: Explication de texte
Posté 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
Titre: Explication de texte
Posté par: DDdeBerdeux le 25 Novembre 2007 à 11:44:53
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é