Auteur Sujet: Recherche d'un descendant avec un évènement sur un lieu bien précis  (Lu 4468 fois)

plus minus reset

0 Membres et 1 Invité sur ce sujet

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 94.0 Firefox 94.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Bonsoir,
Je me suis posé la question de savoir si, il y a une requête possible qui me permettrait de saisir un nom-prénom et d'avoir ses descendants qui auraient un évènement concernant un lieu qui s'appelle "La Calle"?
D'avance merci
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne jfd

  • AncestroExpert
  • *****
  • Messages: 496
  • Remercié: 10 fois
  • Windows 10 Windows 10
  • Firefox 95.0 Firefox 95.0
  • Programme: 2015.1996.3
  • Base: V5.131
  • Système: Windows 10 x64
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #1 le: 09 Décembre 2021 à 12:14:48 »
Bonjour Roblim

J'ai essayé mais je n'ai pas réussi à faire une seule requête ! J'ai encore beaucoup de choses à apprendre.

Cependant pour vous aider voici trois requêtes :

La première donne les individus qui ont un évènement individuel dont le lieu est "La Calle" (avec cet orthographe). Du coup plusieurs lignes pour le même individu si plusieurs évèvement comportant ce lieu

SELECT
  INDIVIDU.CLE_FICHE AS NIP,
  INDIVIDU.NOM AS "Nom",
  INDIVIDU.PRENOM AS "Prénom",
  INDIVIDU.ANNEE_NAISSANCE AS "Année Naissance",
  INDIVIDU.ANNEE_DECES AS "Année décès",
  EVENEMENTS_IND.EV_IND_ADRESSE AS "Lieu"
FROM
  INDIVIDU
  INNER JOIN EVENEMENTS_IND ON (INDIVIDU.KLE_DOSSIER = EVENEMENTS_IND.EV_IND_KLE_DOSSIER)
  AND (INDIVIDU.CLE_FICHE = EVENEMENTS_IND.EV_IND_KLE_FICHE)
WHERE
  (INDIVIDU.KLE_DOSSIER = 6) AND
  (EVENEMENTS_IND.EV_IND_ADRESSE = 'La Calle')
ORDER BY
  INDIVIDU.NOM

La deuxième donne la liste des individus de sexe masculin qui ont un évènement familiale sur ce lieu :

SELECT
  INDIVIDU.CLE_FICHE as "NIP",
  INDIVIDU.NOM AS "Nom",
  INDIVIDU.PRENOM AS "Prénom",
  EVENEMENTS_FAM.EV_FAM_ADRESSE AS "Lieu",
  INDIVIDU.ANNEE_NAISSANCE AS "Année naissance",
  INDIVIDU.ANNEE_DECES AS "année décès"
 
FROM
  T_UNION
  INNER JOIN INDIVIDU ON (T_UNION.UNION_MARI = INDIVIDU.CLE_FICHE)
  INNER JOIN EVENEMENTS_FAM ON (INDIVIDU.KLE_DOSSIER = EVENEMENTS_FAM.EV_FAM_KLE_DOSSIER)
  AND (T_UNION.UNION_CLEF = EVENEMENTS_FAM.EV_FAM_KLE_FAMILLE)
WHERE
  (INDIVIDU.KLE_DOSSIER = 6) AND
  (EVENEMENTS_FAM.EV_FAM_ADRESSE = 'La Calle')
ORDER BY
  INDIVIDU.NOM

Et la troisième idem la seconde mais pour les femmes

SELECT
  INDIVIDU.CLE_FICHE AS "NIP",
  INDIVIDU.NOM as "Nom",
  INDIVIDU.PRENOM AS "Prénom",
  EVENEMENTS_FAM.EV_FAM_ADRESSE AS "Lieu",
  INDIVIDU.ANNEE_NAISSANCE AS "Année Naissance",
  INDIVIDU.ANNEE_DECES AS "Année Décès"
FROM
  INDIVIDU
  INNER JOIN EVENEMENTS_FAM ON (INDIVIDU.KLE_DOSSIER = EVENEMENTS_FAM.EV_FAM_KLE_DOSSIER)
  INNER JOIN T_UNION ON (EVENEMENTS_FAM.EV_FAM_KLE_FAMILLE = T_UNION.UNION_CLEF)
  AND (INDIVIDU.CLE_FICHE = T_UNION.UNION_FEMME)
WHERE
  (INDIVIDU.KLE_DOSSIER = 6) AND
  (EVENEMENTS_FAM.EV_FAM_ADRESSE = 'La Calle')
ORDER BY
  INDIVIDU.NOM

Les pro auraient fait cela avec une seule requête !!!
En espérant que cela puisse vous aider (pensez à modifier le numéro de dossier)

Cordialement
"On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va"

citation de Christophe Colomb
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #2 le: 09 Décembre 2021 à 16:03:14 »
Bonjour,

Pour ceux qui aiment apprendre:
select d.TQ_CLE_FICHE
,i.NOM
,i.PRENOM
,i.ANNEE_NAISSANCE
,i.ANNEE_DECES
from PROC_TQ_DESCENDANCE(MonNip,10,0,0) d
inner join INDIVIDU i on i.CLE_FICHE=d.TQ_CLE_FICHE
where exists(select * from EVENEMENTS_IND e
  where e.EV_IND_KLE_FICHE=d.TQ_CLE_FICHE
    and e.EV_IND_VILLE='La Calle')
or exists(select * from EVENEMENTS_FAM f
  inner join T_UNION u on u.UNION_CLEF=f.EV_FAM_KLE_FAMILLE
    and d.TQ_CLE_FICHE in(u.UNION_MARI,u.UNION_FEMME)
  where f.EV_FAM_VILLE='La Calle')
Je suppose que "La Calle" est le nom de la ville. Avant d'exécuter la requête, remplacez MonNip par le NIP de l'ancêtre dont vous cherchez les descendants. (Le NIP sans le nombre et le signe moins qui le précèdent).
Le nom et le prénom de l'ancêtre ne suffisent pas pour l'identifier de façon unique. C'est pourquoi j'utilise la partie du NIP=CLE_FICHE de la table INDIVIDU.
Conformément à la demande de Roblim, cette requête identifie les descendants qui ont eu au moins un événement individuel ou familial à La Calle, mais pas les événements eux-mêmes.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 94.0 Firefox 94.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #3 le: 09 Décembre 2021 à 17:35:33 »
Bonsoir André,
Merci de ta réponse.
J'ai passé la requête, cependant elle n'aboutit pas.
Voici l'erreur qui m'est renvoyée en joint.
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #4 le: 09 Décembre 2021 à 18:34:42 »
Sans doute un problème de copie, la requête ne provoque pas d'erreur ici.
La ligne 9 c'est "  where e.EV_IND_KLE_FICHE=d.TQ_CLE_FICHE". Tout se passe comme si un caractère avait été ajouté en début de cette ligne.
D'ailleurs, au début de la dernière ligne de votre message d'erreur, il y a un comme un point...
Si vous voulez en même temps que les individus, lister les événements concernés voici une autre requête.
select s.NIP
,i.NOM
,i.PRENOM
,i.ANNEE_NAISSANCE
,i.ANNEE_DECES
,s.evenement as "Événement"
,s.dateev as "Date événement"
from (select d.TQ_CLE_FICHE as NIP
,case e.EV_IND_TYPE when 'EVEN' then coalesce(e.EV_IND_TITRE_EVENT,r.REF_EVE_LIB_LONG)
  else r.REF_EVE_LIB_LONG end as evenement
,e.EV_IND_DATE as dateev
,e.EV_IND_DATE_YEAR as annee
from PROC_TQ_DESCENDANCE(MonNip,10,0,0) d
inner join EVENEMENTS_IND e on e.EV_IND_KLE_FICHE=d.TQ_CLE_FICHE
    and e.EV_IND_VILLE='La Calle'
inner join REF_EVENEMENTS r on r.REF_EVE_LIB_COURT=e.EV_IND_TYPE
union
select d.TQ_CLE_FICHE
,case e.EV_FAM_TYPE when 'EVEN' then coalesce(e.EV_FAM_TITRE_EVENT,r.REF_EVE_LIB_LONG)
  else r.REF_EVE_LIB_LONG end
,e.EV_FAM_DATE
,e.EV_FAM_DATE_YEAR
from PROC_TQ_DESCENDANCE(MonNip,10,0,0) d
inner join T_UNION u on d.TQ_CLE_FICHE in(u.UNION_MARI,u.UNION_FEMME)
inner join EVENEMENTS_FAM e on e.EV_FAM_KLE_FAMILLE=u.UNION_CLEF
    and e.EV_FAM_VILLE='La Calle'
inner join REF_EVENEMENTS r on r.REF_EVE_LIB_COURT=e.EV_FAM_TYPE) s
inner join INDIVIDU i on i.CLE_FICHE=s.NIP
order by 1,2,3,s.annee

Là aussi il faut remplacer MonNip 2 fois.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 
Les utilisateurs suivants ont remercié ce message : jfd

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #5 le: 12 Décembre 2021 à 20:39:03 »
Bonsoir,
En pièce jointe une autre version avec une meilleure présentation qui comprend aussi les individus qui ont habités à La Calle.
Mais maintenant, c'est 3 fois qu'il faut remplacer MonNIP par le NIP de l'ancêtre.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 98.0 Firefox 98.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #6 le: 04 Avril 2022 à 15:54:59 »
Bonjour André,
La requête fonctionne très bien et je t'en remercie.
Est-ce possible d'interroger toute la base afin de lister les individus nés dans une ville (par exemple Torre del Greco) qui ont dans leur descendance un ou plusieurs individus nés dans une autre ville (par exemple La Calle)
D'avance merci pour ce que tu pourrais faire.
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #7 le: 04 Avril 2022 à 19:12:42 »
Bonsoir,

Voici une requête qui répond strictement à votre demande:
select i.CLE_FICHE as NIP
,i.NOM||coalesce(', '||i.PRENOM,'')
  ||case when i.ANNEE_NAISSANCE is not null or i.ANNEE_DECES is not null
  then ' ('||coalesce('°'||i.ANNEE_NAISSANCE,'')
  ||case when i.ANNEE_NAISSANCE is not null and i.ANNEE_DECES is not null then ' ' else '' end
  ||coalesce('+'||i.ANNEE_DECES,'')||')' else '' end as "Ancetres"
from EVENEMENTS_IND ni
inner join INDIVIDU i on i.CLE_FICHE=ni.EV_IND_KLE_FICHE and i.KLE_DOSSIER=1  --<-- Dossier
where ni.EV_IND_TYPE='BIRT' and ni.EV_IND_VILLE='Torre del Greco' --<--Ville de naissance des ancetres
and exists(select *
  from PROC_TQ_DESCENDANCE(i.CLE_FICHE,10,0,0) d
  inner join EVENEMENTS_IND e on e.EV_IND_KLE_FICHE=d.TQ_CLE_FICHE and e.EV_IND_TYPE='BIRT'
    and e.EV_IND_VILLE='La Calle') --<-- Ville de naissance des descendants
Elle liste les "ancêtres" nés à Torre del Greco qui ont eu des descendants nés à La Calle. Il faudrait une seconde requête pour obtenir la liste de ces descendants en liens avec leur ancêtre. Ça nécessiterait une procédure stockée ou une requête d'un autre type que le BOA ne sait exécuter.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 98.0 Firefox 98.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #8 le: 05 Avril 2022 à 06:35:11 »
Bonjour André,
Sur le texte de la requête que tu communiques, j'ai bien mis mon numéro de dossier qui est 4. Faudrait-il le remplacer ailleurs dans le texte, car je n'ai pas de résultat.
D'avance merci
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #9 le: 05 Avril 2022 à 09:44:09 »
Sur le texte de la requête que tu communiques, j'ai bien mis mon numéro de dossier qui est 4. Faudrait-il le remplacer ailleurs dans le texte, car je n'ai pas de résultat.
Bonjour,

Il n'y a pas lieu de remplacer le numéro de dossier ailleurs que dans la sélection des "ancêtres" car les descendants d'un ancêtre appartiennent obligatoirement à son dossier. D'ailleurs si çà n'était pas le cas, c'est le contraire qui se produirait, vous auriez plus de résultats.
J'ai testé cette requête sur ma propre généalogie. Ma mère est née à "La Gacilly" et mes enfants à "Laval". Dans les résultats je retrouve ma mère ainsi qu'une bonne partie de ses ascendants (on ne bougeait pas beaucoup à l'époque dans la campagne morbihannaise).
S'il n'y a pas d'erreur dans l'orthographe des noms des villes et le numéro du dossier, çà signifie qu'aucun de vos ancêtres nés à Torre del Greco n'a eu de descendant né à La Calle. Vous pouvez faire le test avec d'autres cas dont vous connaissez le résultat.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 98.0 Firefox 98.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #10 le: 05 Avril 2022 à 14:42:46 »
André,
Effectivement je faisais une erreur d'orthographe.
Si je souhaite faire cette recherche non plus par rapport à une ville (Comme la Calle) mais par rapport à un pays comme ALGERIE. Est-ce que la requête fonctionnerait moyennant une modification?
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #11 le: 05 Avril 2022 à 15:00:28 »
Si je souhaite faire cette recherche non plus par rapport à une ville (Comme la Calle) mais par rapport à un pays comme ALGERIE. Est-ce que la requête fonctionnerait moyennant une modification.
Dans la requête précédente, il suffit de remplacer EV_IND_VILLE par EV_IND_PAYS lorsque la sélection doit être faite par le Pays au lieu de la Ville.
La première fois c'est pour la sélection des ancêtres, la deuxième fois c'est pour les descendants de ces ancêtres.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 98.0 Firefox 98.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #12 le: 05 Avril 2022 à 15:58:02 »
André, pour le pays cela fonctionne.
Dans le résultat, serait-il possible d'afficher la ville et le pays s'il vous plait?
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #13 le: 05 Avril 2022 à 17:31:02 »
select i.CLE_FICHE as NIP
,i.NOM||coalesce(', '||i.PRENOM,'')
  ||case when i.ANNEE_NAISSANCE is not null or i.ANNEE_DECES is not null
  then ' ('||coalesce('°'||i.ANNEE_NAISSANCE,'')
  ||case when i.ANNEE_NAISSANCE is not null and i.ANNEE_DECES is not null then ' ' else '' end
  ||coalesce('+'||i.ANNEE_DECES,'')||')' else '' end
  ||' '||coalesce(ni.EV_IND_VILLE,'')||coalesce(', '||ni.EV_IND_PAYS,'') as "Ancetres"
from EVENEMENTS_IND ni
inner join INDIVIDU i on i.CLE_FICHE=ni.EV_IND_KLE_FICHE and i.KLE_DOSSIER=1  --<-- Dossier
where ni.EV_IND_TYPE='BIRT'
--  and ni.EV_IND_VILLE='Tore del Greco' --<--Ville de naissance des ancetres
  and ni.EV_IND_PAYS='ALGERIE' --<--Pays de naissance des ancetres
--  "--" en début de ligne permet de desactiver la ligne inutilisee
and exists(select *
  from PROC_TQ_DESCENDANCE(i.CLE_FICHE,10,0,0) d
  inner join EVENEMENTS_IND e on e.EV_IND_KLE_FICHE=d.TQ_CLE_FICHE and e.EV_IND_TYPE='BIRT'
    and e.EV_IND_VILLE='La Calle' --<-- Ville de naissance des descendants
--    and e.EV_IND_PAYS='ALGERIE' --<-- Pays de naissance des descendants
) --ne pas oublier la parenthese de cloture du select
order by 2
Voilà qui devrait vous permettre de choisir si vous voulez faire la sélection sur la ville ou sur le pays.
La pays et la ville de sélection des ancêtres sont affichés dans la liste, mais pas pour les descendants (ils ne sont pas affichés).

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 98.0 Firefox 98.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #14 le: 05 Avril 2022 à 18:59:07 »
Au vu des résultats, j'ai bien peur de ne pas avoir été clair sur mon projet, et j'en suis confus.
L'objectif que je me pose c'est de voir à partir des ancêtres d'une ville d'Italie paramétrée (par exemple Torre del greco) vers quelles villes du pays paramétré (par exemple l'Algérie) ont immigré ses descendants.
Après le résultat est d'avoir les villes d'Algérie des descendants.
Merci de votre patience
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #15 le: 06 Avril 2022 à 11:22:24 »
Bonjour,

Voilà qui est plus clair. Comparez cet objectif avec votre demande initiale...
Mais rassurez-vous, vous n'êtes pas le seul à avoir cette difficulté. Me voilà revenu 20 ans en arrière, à l'époque où je devais convaincre des personnes d'exprimer leurs besoins sous la forme d'un objectif final, et non sous la forme d'une méthode.
Tel que vous l'exprimez, votre objectif présente encore quelques "anomalies". Dans le message précédent où je parlais des descendants de ma mère nés à Laval, je vous signalais le problème dû au fait que les ascendants de ma mère avaient dans leurs descendants les descendants de ma mère. De ce fait il est impossible de les dénombrer. Alors pourquoi parler de descendants?
Pour être plus clair et simple, la question que vous vous posez n'est-elle pas: "Je voudrais savoir quels sont les individus enregistrés dans mon dossier de généalogie qui sont nés à Tore del Greco et qui ont émigrés en Algérie, et si possible dans quelle ville?"
Pour répondre à cette question de quels éléments disposons-nous?
Pour le premier critère, nous disposons de l'événement naissance des individus.
Pour le second nous disposons de plusieurs possibilités:
- la première: simplement l'événement décès, à condition qu'il soit bien enregistré et que les personnes ne soient pas revenues mourir dans leur pays d'origine (c'est sûrement arrivé, voyez les "Mexicains" de Barcelonnette).
- la seconde: rechercher si les individus nés à Tore del Greco n'ont pas eu des événements (individuels ou familiaux) ou des enfants nés en Algérie. L'inconvénient est alors que ces divers événements pouvant avoir eu lieu dans des villes différentes, le dénombrement soit plus difficile.
En fonction des moyens dont nous disposons, intégralité des informations et uniquement le BOA pour faire cette recherche, je vous propose d'abord la requête la plus simple basée sur la naissance à Tore del Greco et le décès en Algérie.
select i.CLE_FICHE as NIP
,i.NOM||coalesce(', '||i.PRENOM,'')
  ||case when i.ANNEE_NAISSANCE is not null or i.ANNEE_DECES is not null
  then ' ('||coalesce('°'||i.ANNEE_NAISSANCE,'')
  ||case when i.ANNEE_NAISSANCE is not null and i.ANNEE_DECES is not null then ' ' else '' end
  ||coalesce('+'||i.ANNEE_DECES,'')||')' else '' end as "Migrants"
,di.EV_IND_VILLE as "Ville de deces"
from EVENEMENTS_IND ni
inner join INDIVIDU i on i.CLE_FICHE=ni.EV_IND_KLE_FICHE and i.KLE_DOSSIER=1  --<-- Dossier
inner join EVENEMENTS_IND di on di.EV_IND_KLE_FICHE=ni.EV_IND_KLE_FICHE
  and di.EV_IND_TYPE='DEAT'
  and di.EV_IND_PAYS='ALGERIE' --<-- Pays de deces
where ni.EV_IND_TYPE='BIRT'
  and ni.EV_IND_VILLE='Tore del Greco' --<--Ville de naissance
order by 3
André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 98.0 Firefox 98.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #16 le: 06 Avril 2022 à 13:47:03 »
Bonjour André,
Oui l'objectif est bien celui que vous formulez.
La requête fonctionne très bien; je remarque que comme vous le dites le résultat ne permettra pas de sortir le maximum de la base.

Pour essayer d'avoir toutefois un résultat plus exhaustif, je suis entrain de regarder dans les quelques requêtes que j'ai pu avoir grâce aux experts du forum si j'en ai pas une qui permettrai une prise en compte au niveau de la base :
- de tous les évènements individuels, collectifs, profession et adresses
- avec les noms et prénoms des individus concernés
- les villes pays des évènements.
Cela serait mon outil n°1

A moi après de filtrer sur les noms des natifs de Torre del Greco que je peux avoir facilement.
Ce serait mon outil n°2.

Qu'en pensez-vous?
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #17 le: 07 Avril 2022 à 12:01:16 »
Bonjour,

J'en pense que ça va être difficile si ce n'est impossible avec des outils datant de 2008.
Pour résoudre votre problème avec ces outils il faudrait:
- avec une requête établir une liste des individus migrants, ayant eu des événements (de tous types) à Torre del Greco et en Algérie,
- conserver cette liste dans une table qu'il faudra sans doute créer,
- en utilisant cette liste dans une seconde requête, établir la liste des villes d'Algérie où ces migrants ont eu des événements.
autre solution: ajouter à la base une procédure stockée qui pourrait être interrogée à l'aide du BOA.
Dans les 2 cas, il serait nécessaire de modifier la base de données, opération trop risquée si elle n'est pas faite par les concepteurs. Je n'en fait plus partie depuis 2008.
Il est regrettable qu'Ancestrologie n'ait pratiquement pas été mis à jour depuis cette date. Je rappellerait simplement que la version 2.1.7 de Firebird date de 2008 et n'est plus maintenue depuis 2014, que le BOA date de 2005 et qu'il utilise comme Ancestrologie des composants adaptés aux versions de Firebird de cette époque. Les versions actuellement maintenues de Firebird sont les versions 3.0.9 et 4.0.1 et avec des composants mis à jour elles ne nécessitent pas de modifications de la base de données pour résoudre votre problème.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Roblim

  • AncestroJunior
  • ****
  • Messages: 248
  • La Calle en Algérie, le Bastion des corailleurs
  • Windows 10 Windows 10
  • Firefox 98.0 Firefox 98.0
  • Programme: 2015.1995.11.1
  • Base: 5.131
  • Système: W10
Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #18 le: 07 Avril 2022 à 13:15:52 »
Bonjour André,
Je comprends mais avec les requêtes que tu m'a communiquées je vais me débrouiller, certes par des manipulations Excel, mais cela sera toujours intéressant. Encore un grand merci pour tes requêtes et ta patience.
Trés amicalement
Robert de Limoges
J'ai la version Base : 5.131, la version Programme 2015.1996.3 et BOA 1,7 du 13 mars 2005.
Sur mon FIXE Windows 10 et sur mon PORTABLE Windows 7
 

Hors ligne DDdeBerdeux

Recherche d'un descendant avec un évènement sur un lieu bien précis
« Réponse #19 le: 07 Avril 2022 à 16:26:09 »
La requête suivante n'est qu'une évolution de la précédente afin d'être plus exhaustif. Au lieu de ne prendre en compte que l'événement Naissance à Tore del Greco et l'événement Décès en Algérie, les migrants sont définis comme ayant au moins un événement individuel ou familial ou une adresse à Tore del Greco ainsi qu'en Algérie. Je pense que c'est suffisant sans aller jusqu'à la naissance d'un enfant en Algérie.
Je n'ignore pas que ça peut sélectionner un migrant d'Algérie à Tore del Greco, mais le cas doit être rare :???: .

select i.CLE_FICHE as NIP
,i.NOM||coalesce(', '||i.PRENOM,'')
  ||case when i.ANNEE_NAISSANCE is not null or i.ANNEE_DECES is not null
  then ' ('||coalesce('°'||i.ANNEE_NAISSANCE,'')
  ||case when i.ANNEE_NAISSANCE is not null and i.ANNEE_DECES is not null then ' ' else '' end
  ||coalesce('+'||i.ANNEE_DECES,'')||')' else '' end as "Migrants"
from INDIVIDU i
where i.KLE_DOSSIER=1  --<-- Dossier
and (exists(select * from EVENEMENTS_IND
          where EV_IND_KLE_FICHE=i.CLE_FICHE and EV_IND_VILLE='Tore del Greco')
  or exists(select * from T_UNION u
            inner join EVENEMENTS_FAM f on f.EV_FAM_KLE_FAMILLE=u.UNION_CLEF
              and f.EV_FAM_VILLE='Tore del Greco'
            where i.CLE_FICHE in(u.UNION_MARI,u.UNION_FEMME))
  or exists(select * from ADRESSES_IND
            where ADR_KLE_IND=i.CLE_FICHE and ADR_VILLE='Tore del Greco'))
and (exists(select * from EVENEMENTS_IND
          where EV_IND_KLE_FICHE=i.CLE_FICHE and EV_IND_PAYS='ALGERIE')
  or exists(select * from T_UNION u
            inner join EVENEMENTS_FAM f on f.EV_FAM_KLE_FAMILLE=u.UNION_CLEF
              and f.EV_FAM_PAYS='ALGERIE'
            where i.CLE_FICHE in(u.UNION_MARI,u.UNION_FEMME))
  or exists(select * from ADRESSES_IND
            where ADR_KLE_IND=i.CLE_FICHE and ADR_PAYS='ALGERIE'))
order by 2

Une fois les résultats de cette requête sauvegardés, exécutez la requête suivante:
select distinct v.ANNEE,v.VILLE
from (select EV_IND_DATE_YEAR as ANNEE,EV_IND_VILLE as VILLE
from EVENEMENTS_IND
  where EV_IND_KLE_FICHE=NIP and EV_IND_PAYS='ALGERIE' --<--remplacer NIP par le NIP de l'individu
union select f.EV_FAM_DATE_YEAR,f.EV_FAM_VILLE from T_UNION u
  inner join EVENEMENTS_FAM f on f.EV_FAM_KLE_FAMILLE=u.UNION_CLEF
    and f.EV_FAM_PAYS='ALGERIE'
  where NIP in(u.UNION_MARI,u.UNION_FEMME) --<--
union select ADR_DATE_YEAR_1,ADR_VILLE from ADRESSES_IND
  where ADR_KLE_IND=NIP and ADR_PAYS='ALGERIE') v   --<--
en remplaçant le mot NIP par le NIP figurant en tête de la liste des migrants précédente.
Cette requête donne dans l'ordre des années les villes d'Algérie où il a eu un événement.
Bon courage si vous avez identifié beaucoup de migrants.

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)