Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
J-Claude67 Spécialiste


Inscrit le: 07 Jan 2004 Messages: 39 Localisation: Saverne, Alsace, Bas-Rhin France
|
Posté le: 24 Nov 2004 22:38 Sujet du message: Relations entre tables. |
|
|
Bonsoir.
Je voudrais trouver la liste des personnes qui se sont mariées avant une année "X"
Je n'arrive pas à trouver le critère qui assure la relation entre la table "INDIVIDU" et la table "EVENEMENT_FAM".
Plus généralement comment trouver le critère de relation entre deux tables.
Merci au "professeur pêcheur" qui répondra. |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 25 Nov 2004 09:08 Sujet du message: |
|
|
généralement le lien se fait entre 2 tables voir les colonnes ou champs qui comportent le mot Cle ou clef ou Kle
mais pour lier individu et evenements_fam , il faut passer aussi par la table t_union
le lien : union_clef = ev_fam_kle_famille
puis si vous voulez ramener les noms des époux
union_mari = cle_fiche
union_femme = cle_fiche
ce qui veut dire qu'il faut mettre 2 fois la table individu _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
 |
Invité
|
Posté le: 25 Nov 2004 10:51 Sujet du message: |
|
|
Merci!
Si je comprends bien j'ai choisi l'exercice le plus facile pour commencer!
 |
|
Revenir en haut |
|
 |
J-Claude67 Spécialiste


Inscrit le: 07 Jan 2004 Messages: 39 Localisation: Saverne, Alsace, Bas-Rhin France
|
Posté le: 25 Nov 2004 11:15 Sujet du message: |
|
|
Désolé j'ai oublié de me connecter avant de poster ci-dessus!  |
|
Revenir en haut |
|
 |
J-Claude67 Spécialiste


Inscrit le: 07 Jan 2004 Messages: 39 Localisation: Saverne, Alsace, Bas-Rhin France
|
Posté le: 25 Nov 2004 18:43 Sujet du message: |
|
|
Voici ce que j'ai réussi à pondre!
Ca fonctionne sauf que je ramène deux fois le nom et le prénom de l'époux (ou de l'épouse en fonction de celui que je recherche en premier)
Où est l'erreur?
Merci "patron pêcheur"
SELECT
INDIVIDU.PRENOM,
INDIVIDU.NOM,
T_UNION.UNION_FEMME,
INDIVIDU1.PRENOM,
INDIVIDU1.NOM,
EVENEMENTS_FAM.EV_FAM_DATE_YEAR,
EVENEMENTS_FAM.EV_FAM_VILLE
FROM
INDIVIDU
INNER JOIN T_UNION ON (INDIVIDU.CLE_FICHE = T_UNION.UNION_MARI)
INNER JOIN EVENEMENTS_FAM ON (T_UNION.UNION_CLEF = EVENEMENTS_FAM.EV_FAM_KLE_FAMILLE)
INNER JOIN INDIVIDU INDIVIDU1 ON (T_UNION.UNION_FEMME = INDIVIDU1.CLE_FICHE)
WHERE
(T_UNION.KLE_DOSSIER = 2) AND
(INDIVIDU.KLE_DOSSIER = 2) AND
(INDIVIDU1.KLE_DOSSIER = 2) AND
(EVENEMENTS_FAM.EV_FAM_KLE_DOSSIER = 2) AND
(EVENEMENTS_FAM.EV_FAM_DATE_YEAR <= 1836)
ORDER BY
INDIVIDU.NOM,
INDIVIDU.PRENOM |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 25 Nov 2004 20:16 Sujet du message: |
|
|
L'erreur se trouve après le from : il faut partie de la table t_union
voila le code à coller dans la partie sql du requeteur
SELECT
T_UNION.UNION_MARI,
INDIVIDU.NOM,
INDIVIDU.PRENOM,
T_UNION.UNION_FEMME,
INDIVIDU1.NOM,
INDIVIDU1.PRENOM,
EVENEMENTS_FAM.EV_FAM_DATE_YEAR,
EVENEMENTS_FAM.EV_FAM_VILLE
FROM
T_UNION
INNER JOIN EVENEMENTS_FAM ON (T_UNION.UNION_CLEF = EVENEMENTS_FAM.EV_FAM_KLE_FAMILLE)
INNER JOIN INDIVIDU INDIVIDU1 ON (T_UNION.UNION_FEMME = INDIVIDU1.CLE_FICHE)
INNER JOIN INDIVIDU ON (T_UNION.UNION_MARI = INDIVIDU.CLE_FICHE)
where
(T_UNION.KLE_DOSSIER = 2) AND
(INDIVIDU.KLE_DOSSIER = 2) AND
(INDIVIDU1.KLE_DOSSIER = 2) AND
(EVENEMENTS_FAM.EV_FAM_KLE_DOSSIER = 2) AND
(EVENEMENTS_FAM.EV_FAM_DATE_YEAR <= 1836)
ORDER BY
INDIVIDU.NOM,
INDIVIDU.PRENOM
je place toutes mes tables , ensuite je coche les champs dans l'ordre que je veux en sortie (l'ordre peut être modifié dans le code sql), puis je fais les liens en partant de la table t_union vers evenements_fam , de t_union vers individu1 et de t_union vers individu
pour le dossier on peut faire aussi les liens ou mettre en dans les critères _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
 |
J-Claude67 Spécialiste


Inscrit le: 07 Jan 2004 Messages: 39 Localisation: Saverne, Alsace, Bas-Rhin France
|
Posté le: 25 Nov 2004 20:38 Sujet du message: |
|
|
Ca colle !
Merci  |
|
Revenir en haut |
|
 |
|