une requête "tout en un"Facon a écrit:Un export vers Excel permet plein de chose: d'éclater la liste par type d'événement, de trier, d'utiliser le filtre automatique, etc...
Avant utilisation il faut indiquer le bon numéro de dossier ainsi que le département.
Attention, les actes existants sont notés 1, les absents par un vide. Selon la version utilisée au moment de l'enregistrement des données, des événements pour lesquels les actes ne sont pas disponibles sont marqués 0. Il suffit de les éliminer pour uniformiser le tout.
- Code: Tout sélectionner
SELECT DISTINCT
I.NUM_SOSA AS SOSA
, I.NOM
, I.PRENOM
, N.EV_IND_DATE_WRITEN AS DATE_NAISSANCE
, EXTRACT (DAY FROM N.EV_IND_DATE) AS JJ
, EXTRACT (MONTH FROM N.EV_IND_DATE) AS MM
, EXTRACT (YEAR FROM N.EV_IND_DATE) AS AA
, N.EV_IND_DATE_YEAR AS AN_NAISSANCE
, N.EV_IND_VILLE AS VILLE_NAISSANCE
, N.EV_IND_DEPT AS DEPT_NAISSANCE
, N.EV_IND_ACTE AS ACTE_NAISSANCE
, D.EV_IND_DATE_WRITEN AS DATE_DECES
, EXTRACT (DAY FROM D.EV_IND_DATE) AS JJ
, EXTRACT (MONTH FROM D.EV_IND_DATE) AS MM
, EXTRACT (YEAR FROM D.EV_IND_DATE) AS AA
, D.EV_IND_DATE_YEAR AS AN_DECES
, D.EV_IND_VILLE AS VILLE_DECES
, D.EV_IND_DEPT AS DEPT_DECES
, D.EV_IND_ACTE AS ACTE_DECES
, R.REF_EVE_LIB_LONG AS TYPE_UNION
, F.EV_FAM_DATE_WRITEN AS DATE_UNION
, EXTRACT (DAY FROM F.EV_FAM_DATE) AS JJ
, EXTRACT (MONTH FROM F.EV_FAM_DATE) AS MM
, EXTRACT (YEAR FROM F.EV_FAM_DATE) AS AA
, F.EV_FAM_DATE_YEAR AS AN_UNION
, F.EV_FAM_VILLE AS VILLE_UNION
, F.EV_FAM_DEPT AS DEPT_UNION
, F.EV_FAM_ACTE AS ACTE_UNION
, IC.NOM AS NOM_CONJOINT
, IC.PRENOM AS PRENOM_CONJOINT
, IC.NUM_SOSA AS SOSA_CONJOINT
FROM INDIVIDU I
LEFT OUTER JOIN EVENEMENTS_IND N ON I.CLE_FICHE = N.EV_IND_KLE_FICHE AND N.EV_IND_TYPE= 'BIRT'
LEFT OUTER JOIN EVENEMENTS_IND D ON I.CLE_FICHE = D.EV_IND_KLE_FICHE AND D.EV_IND_TYPE= 'DEAT'
LEFT OUTER JOIN T_UNION U ON I.CLE_FICHE = U.UNION_MARI OR I.CLE_FICHE = U.UNION_FEMME
LEFT OUTER JOIN INDIVIDU IC ON (U.UNION_MARI = IC.CLE_FICHE OR U.UNION_FEMME = IC.CLE_FICHE) AND IC.CLE_FICHE <> I.CLE_FICHE
LEFT OUTER JOIN EVENEMENTS_FAM F ON U.UNION_CLEF = F.EV_FAM_KLE_FAMILLE
LEFT OUTER JOIN REF_EVENEMENTS R ON F.EV_FAM_TYPE =R .REF_EVE_LIB_COURT
WHERE I.KLE_DOSSIER =2
AND ( N.EV_IND_DEPT='Nord' OR D.EV_IND_DEPT='Nord' OR F.EV_FAM_DEPT='Nord' )
ORDER BY I.NOM, I.PRENOM
liste d'ascendance avec profession- Code: Tout sélectionner
select p.*
,(select OCCUPATION from PROC_DERNIER_METIER(p.cle_fiche))
from PROC_ETAT_ASCENDANCE(NIP, 0, 0, MODE) p
DDdeberdeux a écrit:en remplaçant NIP par la valeur du NIP de l'individu de départ, et MODE par:
0 pour les ascendants sans implexes
1 y ajouter les implexes, la première fois qu'ils sont trouvés
2 tous les ascendants (implexes sans limitation de niveau)
On pourrait afficher tous les métiers, mais à ce moment, les individus ayant plusieurs métiers seraient répétés autant de fois que de métier dans leur vie.
Vous verrez les noms des champs qui sont sortis. Si vous ne voulez en voir que certains, il faudra, à la place de p.*, les énumérer dans l'ordre voulu, précédés de p. avec la virgule comme séparateur.
rechercher les individus ayant exercé une profession
DDdeBerdeux a écrit:select i.cle_fiche
,i.nom
,i.prenom
,e.ev_ind_description
from individu i
inner join evenements_ind e
on e.ev_ind_kle_fiche=i.cle_fiche
and e.ev_ind_type='OCCU'
where i.kle_dossier=1
and upper(e.ev_ind_description) containing upper('ouvrier')
en remplaçant le texte en rouge par ce qui correspond à ta recherche.
Si la recherche doit être plus stricte tu peux remplacer "containing" par "starting with" ou par "=" et supprimer les "upper".
liste de toutes les personnes de la base ayant une photo d'identité
Pierrot a écrit:SELECT DISTINCT INDIVIDU.CLE_FICHE as NIP,
INDIVIDU.NOM,
INDIVIDU.PRENOM,
INDIVIDU.DATE_NAISSANCE,
INDIVIDU.DATE_DECES
FROM INDIVIDU
INNER JOIN MEDIA_POINTEURS ON (INDIVIDU.CLE_FICHE = MEDIA_POINTEURS.MP_CLE_INDIVIDU)
WHERE MEDIA_POINTEURS.MP_IDENTITE = 1
AND INDIVIDU.KLE_DOSSIER = 1
ORDER BY INDIVIDU.NOM
Changer le n° de dossier si nécessaire
liste de descendance
DDdeBerdeux a écrit:Dans le BOA (ou un autre requêteur, ou depuis un tableur) copiez la requête suivante:
- Code: Tout sélectionner
select i.niveau
,i.sosa
,i.nom
,i.prenom
,i.date_naissance as naissance
,i.date_deces as deces
,i.age_au_deces as age
,i.occupation
,i.ordre
,c.nom as nom_conjoint
,c.prenom as prenom_conjoint
,c.date_naissance as naissance_conjoint
,c.date_deces as deces_conjoint
,c.date_mariage
from proc_descendance(:clef,0,:dossier) i
left join proc_trouve_conjoints(0,i.cle_fiche) c on 1=1
order by i.niveau,i.sosa,c.annee_mariage
Remplacez :clef et :dossier par le NIP de l'individu de départ et le n° de votre dossier, et exécutez la requête.
L'inconvénient, c'est que pour les individus mariés plusieurs fois il y a autant de lignes que de conjoints, et que le conjoint indiqué n'est pas obligatoirement le parent des descendants.
liste des oncles et tantes
DDdeBerdeux a écrit:En attendant qu'un jour on complète le document liste des oncles/tantes avec leurs conjoints (peut-être une option?), exécutez la requête suivante dans le BOA ou un autre requêteur:
- Code: Tout sélectionner
select t.cle_fiche as NIP
,t.nom||coalesce(' '||t.prenom,'') as NOM
,case t.sexe
when 1 then 'M'
when 2 then 'F'
else 'I'
end as SEXE
,t.date_naissance as NAISSANCE
,t.date_deces as DECES
,c.cle_fiche as NIP_CONJOINT
,c.nom||coalesce(' '||c.prenom,'') as NOM_CONJOINT
,c.date_naissance as NAISSANCE_CONJOINT
,c.date_deces as DECES_CONJOINT
from proc_trouve_oncles_tantes(:NIP,0,0) t
left join proc_trouve_conjoints(0,t.cle_fiche) c on 1=1
order by t.sosa,c.ordre_union
en remplaçant :NIP par le N° de votre individu.
liste des maires
DDdeBerdeux a écrit:- Code: Tout sélectionner
select i.nom
,i.prenom
,e.ev_ind_description
,e.ev_ind_date_writen
,e.ev_ind_cp
,e.ev_ind_ville
from evenements_ind e
inner join individu i on i.cle_fiche=e.ev_ind_kle_fiche
and i.kle_dossier=1
where e.ev_ind_type='TITL'
and upper(e.ev_ind_description) containing 'MAIRE'
order by i.nom,i.prenom
devrait convenir, en remplaçant le "1" du dossier par le n° du votre.
J'utilise le upper et containing pour "élargir" un peu la recherche en autorisant la sélection même si vous avez écrit "maire" au lieu de "Maire" et pas toujours seul dans la description.