Ancestrologie - Plugins et Outils > BOA

Lister les différentes sources de mes saisies

(1/1)

Roblim:
Bonjour,
 Dans l’objectif de disposer d’une vision globale des sources citées dans ma généalogie, je suis en train de recenser les contenus du champ source que j’ai saisis dans les :
-         évènements individuels et familiaux,
-         infos de l’individu
-         et aussi dans le champ Notes (car il n’y a pas de champ source) des Domiciles.
 S’agissant des domiciles, je lance la requête suivante :
SELECT
   ADR_KLE_IND,
   ADR_VILLE,
   ADR_SUBD,
   ADR_PAYS,
   ADR_MEMO
FROM
  INDIVIDU
  INNER JOIN EVENEMENTS_IND ON (INDIVIDU.CLE_FICHE = EVENEMENTS_IND.EV_IND_KLE_FICHE),
  ADRESSES_IND
WHERE
 (INDIVIDU.KLE_DOSSIER = 4) AND
 (ADRESSES_IND.ADR_KLE_IND = INDIVIDU.CLE_FICHE) AND
  (ADR_MEMO<>0)
ORDER BY
   ADR_KLE_IND
 
Elle me restitue 12907 occurrences dont certaines sont vides en dépit de ADR_MEMO<>0 ; c’est ma 1ère interrogation.
D’autre part je constate que pour un même individu la requête me restitue plus de Domicile que j’en ai saisi ; c’est ma 2ème interrogation.
 
Pouvez-vous m’aider à comprendre sur ces deux interrogations et éventuellement à m’indiquer une requête plus approprié sans doute à la recherche des champs Notes des domiciles saisis.

DDdeBerdeux:
Bonjour,

Téléchargez le fichier joint et changez son extension de .txt en .sql. C'est nécessaire pour le charger dans le BOA.
Exécutez-le par "Exécuter requête", il liste toutes les sources présentes dans le dossier en cours, mais toutes les lignes de la même source sont bout à bout sur la même ligne car la grille du BOA n'accepte que les chaînes de caractères (sans retour à la ligne).

André

DDdeBerdeux:
PS: Et si vous ne voulez que le texte des sources distinctes, sans savoir à quels individus elles sont attachées, remplacez en tête de la requête le texte:

select i.NOM
,i.PRENOM
,s.*

par :

select distinct cast(substring(s.source from 1 for 2000) as varchar(2000))

Mais comme pour la requête précédente, il faut être patient... et attendre que l'application réponde, même si Windows vous propose de la fermer.

André

Roblim:
Bonjour André,
Je vous remercie pour votre réponse très rapide et votre expertise.
La version avec les noms-prénoms me convient totalement.
Cependant le résultat représentant 75878 lignes, la transformation  en Excel est tronquée car il n'a que 65536 lignes.
Peut-être serait-il possible de faire deux requêtes avec cette version nom-prénom :
- une avec les évènements individuels
- et l'autre avec les évènements familiaux, les info individus et les adresses.

DDdeBerdeux:
Pour que du code SQL soit ignoré, il suffit de le mettre en commentaires.
Le texte qui commence par les symboles /* et finit par */ est un considéré comme un commentaire.
Dans la sous-requête d'alias s, "(select ... union select .....) s", il suffit donc d'encadrer par ces symboles les blocs à ignorer, par exemple :
/*select  ADR_KLE_IND
,'Adresse individuelle'
,'RESI'
,ADR_MEMO
from  ADRESSES_IND
where char_length(ADR_MEMO)>0
union*/
pour supprimer les notes des adresses.
en faisant attention à ce que la sous requête ne commence et ne finisse pas par "union" qui est uniquement destiné à séparer les blocs.
Attention aussi, si vous supprimez le premier bloc (celui des sources liées directement à l'individu). C'est dans ce bloc que sont renommés les champs de sortie (exemple "as NIP"). Ces noms doivent figurer dans le premier bloc "actif".

André

Navigation

[0] Index des messages

Une erreur s'est produite lors du remerciement
Remerciement...
Utiliser la version classique