Index des Archives

www.ancestrologie.com
Le nouvel ensemble de forums touchant à Ancestrologie et à ses plugins 


Relations entre tables.

 
Poster un nouveau sujet   Répondre au sujet    Index des Archives -> Ancestrologie - Le module SQL tres facilement
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
J-Claude67
Spécialiste
Spécialiste


Inscrit le: 07 Jan 2004
Messages: 39
Localisation: Saverne, Alsace, Bas-Rhin France

MessagePosté le: 24 Nov 2004 22:38    Sujet du message: Relations entre tables. Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé
pthierry
Pro
Pro


Inscrit le: 27 Fév 2003
Messages: 455
Localisation: Paris 13

MessagePosté le: 25 Nov 2004 09:08    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Invité






MessagePosté le: 25 Nov 2004 10:51    Sujet du message: Répondre en citant

Merci!
Si je comprends bien j'ai choisi l'exercice le plus facile pour commencer!
Rolling Eyes Rolling Eyes Rolling Eyes
Revenir en haut
J-Claude67
Spécialiste
Spécialiste


Inscrit le: 07 Jan 2004
Messages: 39
Localisation: Saverne, Alsace, Bas-Rhin France

MessagePosté le: 25 Nov 2004 11:15    Sujet du message: Répondre en citant

Désolé j'ai oublié de me connecter avant de poster ci-dessus! Embarassed Embarassed
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
J-Claude67
Spécialiste
Spécialiste


Inscrit le: 07 Jan 2004
Messages: 39
Localisation: Saverne, Alsace, Bas-Rhin France

MessagePosté le: 25 Nov 2004 18:43    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé
pthierry
Pro
Pro


Inscrit le: 27 Fév 2003
Messages: 455
Localisation: Paris 13

MessagePosté le: 25 Nov 2004 20:16    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
J-Claude67
Spécialiste
Spécialiste


Inscrit le: 07 Jan 2004
Messages: 39
Localisation: Saverne, Alsace, Bas-Rhin France

MessagePosté le: 25 Nov 2004 20:38    Sujet du message: Répondre en citant

Ca colle !
Merci Very Happy Very Happy Very Happy
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Index des Archives -> Ancestrologie - Le module SQL tres facilement Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com