Index des Archives

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


Recherche de personnes sans conjoint

 
Poster un nouveau sujet   Répondre au sujet    Index des Archives -> BOA
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Pierrot
Spécialiste
Spécialiste


Inscrit le: 29 Juil 2003
Messages: 47
Localisation: BELGIQUE

MessagePosté le: 23 Juil 2004 19:41    Sujet du message: Recherche de personnes sans conjoint Répondre en citant

Bonjour,
Qui pourrait me donner le code SQL pour retrouver par le BOA la liste des personnes sans conjoint
Merci d'avance
Pierrot
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur
Lau
Pro, Modérateur
Pro, Modérateur


Inscrit le: 01 Avr 2003
Messages: 1541

MessagePosté le: 27 Juil 2004 09:48    Sujet du message: Répondre en citant

Je n'ai pas le BOA devant les yeux, mais la requête doit être du genre :
Code:
select * from individu a
where a.cle_dossier=1
and not exists (
  select * from t_union b
  where b.cle_dossier=a.cle_dossier
  and (b.cle_pere = a.cle_fiche or b.cle_mere=a.cle_fiche)
)


Les noms sont approximatifs (de mémoire) : vérifier dans les listes déroulantes. Le n° de dossier est bien entendu à remplacer par le dossier sur lequel tu travailles (cf. titre de la fenêtre du BOA).
Merci de reporter dans ce fil la requête définitive après test (pour les suivants)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
pthierry
Pro
Pro


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

MessagePosté le: 27 Juil 2004 13:02    Sujet du message: Répondre en citant

Je verrais quelquechose comme ça car dans la table T_UNION , il y a pour les clés deux colonnes une colonne union_mari et une union_femme

SELECT DISTINCT INDIVIDU.NOM,
INDIVIDU.PRENOM,
INDIVIDU.CLE_FICHE AS NIP,
INDIVIDU.DATE_NAISSANCE,
INDIVIDU.DATE_DECES,
INDIVIDU.NUM_SOSA
FROM INDIVIDU
WHERE INDIVIDU.KLE_DOSSIER = 1
AND INDIVIDU.SEXE =1
AND INDIVIDU.CLE_FICHE NOT IN
(SELECT T_UNION.UNION_MARI
FROM T_UNION
WHERE INDIVIDU.CLE_FICHE = T_UNION.UNION_MARI
AND T_UNION.KLE_DOSSIER = 1)
UNION
SELECT DISTINCT INDIVIDU.NOM,
INDIVIDU.PRENOM,
INDIVIDU.CLE_FICHE AS NIP,
INDIVIDU.DATE_NAISSANCE,
INDIVIDU.DATE_DECES,
INDIVIDU.NUM_SOSA
FROM INDIVIDU
WHERE INDIVIDU.KLE_DOSSIER = 1
AND INDIVIDU.SEXE =2
AND INDIVIDU.CLE_FICHE NOT IN
(SELECT T_UNION.UNION_FEMME
FROM T_UNION
WHERE INDIVIDU.CLE_FICHE = T_UNION.UNION_FEMME
AND T_UNION.KLE_DOSSIER = 1)
_________________
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
Lau
Pro, Modérateur
Pro, Modérateur


Inscrit le: 01 Avr 2003
Messages: 1541

MessagePosté le: 27 Juil 2004 14:10    Sujet du message: Répondre en citant

Ne crois-tu pas que la requête telle que je l'ai présentée est plus rapide à écrire et à exécuter (en remplaçant cle_pere par union_mari, ... : je ne me souvenais plus) :
Code:
select * from individu a
where a.kle_dossier=1
and not exists (
  select * from t_union b
  where b.kle_dossier=a.kle_dossier
  and (b.union_mari = a.cle_fiche or b.union_femme=a.cle_fiche)
)

Elle a de plus l'avantage de retourner aussi les personnes de sexe inconnu, et de pouvoir faire des tris si on le souhaite (car pas de clause union).
Qu'en penses-tu ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
pthierry
Pro
Pro


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

MessagePosté le: 27 Juil 2004 17:26    Sujet du message: Répondre en citant

Tu as raison Laurent , j'avais écrit cette requete comme toi sauf que j'avais oublié les parenthèses pour encadrer le "Or" , ce qui n'était pas bon , du coup j'ai essayé "l'union"
en rapidité d'exécution , c'est pareil et le tri se fait sur le nom et le prénom

comme ça l'utilisateur peut exécuter les 2 et comparer
_________________
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
Pierrot
Spécialiste
Spécialiste


Inscrit le: 29 Juil 2003
Messages: 47
Localisation: BELGIQUE

MessagePosté le: 28 Juil 2004 09:11    Sujet du message: Répondre en citant

Merci de vos réponses
Pierrot
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Index des Archives -> BOA Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas 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