| 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 | 
		 | 
	
	
		  | 
	
	
		 |