forum Ancestrologie

Ancestrologie - Plugins et Outils => BOA => Discussion démarrée par: Titus076 le 12 Décembre 2008 à 21:30:35

Titre: Requête SQL où mettre la clef NIP ???
Posté par: Titus076 le 12 Décembre 2008 à 21:30:35
Bonsoir,

Petite précision concernant la façon d'insérer la clef NIP de la personne intéressée lors d'une requête, ex:1-3779 ?

"select * from individu where kle_dossier=1"

Merci par avance.
Titre: Requête SQL où mettre la clef NIP ???
Posté par: DDdeBerdeux le 12 Décembre 2008 à 22:10:04
Bonsoir,
La requête ci-dessus permet de lister tous les individus du dossier 1.
La suivante ne présente que le contenu de l'enregistrement individu de cle_fiche 3779
select * from individu where cle_fiche=3779

Le NIP est composé d'un chiffre représentant le sexe (1 est un homme) suivi de la cle_fiche, seul réel identifiant de l'individu dans la base. Comme c'est la clé primaire de la table individu (il n'y a pas 2 cle_fiche identiques dans toute la table), il est inutile de préciser en plus à quel dossier il appartient.

A+
André
Titre: Requête SQL où mettre la clef NIP ???
Posté par: Titus076 le 12 Décembre 2008 à 22:15:15
Alors quand vous m'aviez communiqué préalablement la requête suivant, où je place mon NIP ?

" select distinct nom from
(select i.nom
from proc_tq_ascendance(:clef,0,0,0) t
inner join individu i on i.cle_fiche=t.tq_cle_fiche
union
select i.nom
from proc_tq_ascendance(:clef,0,0,0) t
inner join individu i on t.tq_cle_fiche in (i.cle_pere,i.cle_mere)
union
select i.nom
from proc_tq_ascendance(:clef,0,0,0) t
inner join t_union u on u.union_mari=t.tq_cle_fiche
inner join individu i on i.cle_fiche=u.union_femme
union
select i.nom
from proc_tq_ascendance(:clef,0,0,0) t
inner join t_union u on u.union_femme=t.tq_cle_fiche
inner join individu i on i.cle_fiche=u.union_mari
union
select i.nom
from proc_tq_ascendance(:clef,0,0,0) t
inner join individu e on t.tq_cle_fiche in (e.cle_pere,e.cle_mere)
inner join t_union u on u.union_mari=e.cle_fiche
inner join individu i on i.cle_fiche=u.union_femme
union
select i.nom
from proc_tq_ascendance(:clef,0,0,0) t
inner join individu e on t.tq_cle_fiche in (e.cle_pere,e.cle_mere)
inner join t_union u on u.union_femme=e.cle_fiche
inner join individu i on i.cle_fiche=u.union_mari) "

Merci.
Titre: Requête SQL où mettre la clef NIP ???
Posté par: DDdeBerdeux le 12 Décembre 2008 à 22:18:21
Vous remplacez tous les :clef par 3779

André
Titre: Requête SQL où mettre la clef NIP ???
Posté par: Titus076 le 12 Décembre 2008 à 22:23:32
Oui mais comment car j'ai déjà essayé sans succès !!!

(:clef,0,0,0) = (:3779) ou (:clef,3779) ou ???
Titre: Requête SQL où mettre la clef NIP ???
Posté par: MicBer le 12 Décembre 2008 à 22:44:32
Bonsoir,
Avez vous essayer avec (:3779,0,0,0) ou (3779,0,0,0)
Simple suggestion d'un nul.. :wink:
Cordialement
Titre: Requête SQL où mettre la clef NIP ???
Posté par: Bruno T. le 12 Décembre 2008 à 23:05:37
Avez vous essayer avec (:3779,0,0,0) ou (3779,0,0,0)
:wink:
Titre: Requête SQL où mettre la clef NIP ???
Posté par: Titus076 le 12 Décembre 2008 à 23:51:57
Bonsoir,
Avez vous essayer avec (:3779,0,0,0) ou (3779,0,0,0)
Simple suggestion d'un nul.. :wink:
Cordialement

Mais non personne n'est nul mais un manque d'utilisation, c'est comme tout à chacun son domaine. Bon il faut trouver son sien!

Voici le message d'erreur à la suite de mes tentatives: " Dynamic SQL error. SQL error code= -104 - Taken unknown-line2,column21 select "
Titre: Requête SQL où mettre la clef NIP ???
Posté par: DDdeBerdeux le 13 Décembre 2008 à 06:55:38
Bonjour,
Sélectionnez le texte ci-dessus et copiez-le dans le BOA à la place du select * from individu where kle_dossier=1select distinct nom from
(select i.nom
from proc_tq_ascendance(3779,0,0,0) t
inner join individu i on i.cle_fiche=t.tq_cle_fiche
union
select i.nom
from proc_tq_ascendance(3779,0,0,0) t
inner join individu i on t.tq_cle_fiche in (i.cle_pere,i.cle_mere)
union
select i.nom
from proc_tq_ascendance(3779,0,0,0) t
inner join t_union u on u.union_mari=t.tq_cle_fiche
inner join individu i on i.cle_fiche=u.union_femme
union
select i.nom
from proc_tq_ascendance(3779,0,0,0) t
inner join t_union u on u.union_femme=t.tq_cle_fiche
inner join individu i on i.cle_fiche=u.union_mari
union
select i.nom
from proc_tq_ascendance(3779,0,0,0) t
inner join individu e on t.tq_cle_fiche in (e.cle_pere,e.cle_mere)
inner join t_union u on u.union_mari=e.cle_fiche
inner join individu i on i.cle_fiche=u.union_femme
union
select i.nom
from proc_tq_ascendance(3779,0,0,0) t
inner join individu e on t.tq_cle_fiche in (e.cle_pere,e.cle_mere)
inner join t_union u on u.union_femme=e.cle_fiche
inner join individu i on i.cle_fiche=u.union_mari)
Je n'ai fait que remplacer tous les :clef par 3779 comme déjà dit dans mon précédent message. J'ai également testé cette requête dans le BOA avec succès. Il faut cliquer sur "Exécuter requête" et non "Exécuter procédure" car cette requête retourne un résultat, la liste des noms.

A+
André
Titre: Requête SQL où mettre la clef NIP ???
Posté par: Titus076 le 13 Décembre 2008 à 10:25:29
Encore un grand merci car tout en rentré dans l'ordre et j'ai pu éditer cette fameuse liste.

A bientôt pour un futur sauvetage.  :mrgreen: