Requête SQL généalogique
Résolu
heliconius
Messages postés
539
Date d'inscription
Statut
Membre
Dernière intervention
-
heliconius Messages postés 539 Date d'inscription Statut Membre Dernière intervention -
heliconius Messages postés 539 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Requête SQL généalogique
- Logiciel sql - Télécharger - Bases de données
- Arbre généalogique famille michelin - Télécharger - Généalogie
- Sql lister les tables ✓ - Forum Programmation
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
2 réponses
Bonjour,
Si non mariés, ils ne sont pas dans la table gen_Marry, cette table alors ne devrait pas être dans le FROM, mais dans une jointure externe, pour ramener l'enregistrement gen_People même même s'il n'a pas de correspondance dans gen_Marry.
Par ailleurs à quoi sert l'alias Wife puisque la requête n'utilise aucune des données de cette seconde occurrence de la table gen_People ?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, suggestion:
SELECT gen_People.idpers, gen_People.lname, gen_People.fname FROM gen_People WHERE gen_People.lname like '%sydney%' OR gen_People.fname like '%sydney%' OR gen_People.bplac like '%sydney%' OR gen_People.dplac like '%sydney%' UNION SELECT gen_People.idpers, gen_People.lname, gen_People.fname FROM gen_People, gen_Marry WHERE (gen_People.idpers=gen_Marry.idh OR gen_People.idpers=gen_Marry.idw) AND gen_Marry.uplac like '%sydney%'
Merci pour ta réponse efficace. Effectivement l'alias wife ne se justifie pas car mari ou femme sont tous les deux dans gen_People. Donc :
J'ai testé. Sur 883 personnes dans gen_People et 256 familles (couples) dans gen_Marry, les 5 identifiés sont sortis. Je pensais 4, mais en fait c'est 5 : 3 + un couple (donc +mari, +femme mariés au même endroit :-) = 5.
Je vais mettre ça au propre sous PHP et ce sera bon.
Je te remercie infiniment.