forum Ancestrologie

Ancestrologie - Le Programme => Ancestrologie - Spécifiques => Requêtes SQL => Discussion démarrée par: anorgeot le 08 Janvier 2012 à 15:26:32

Titre: Vérifier que Témoins non dcd à la date d'un évènement
Posté par: anorgeot le 08 Janvier 2012 à 15:26:32
Bonjour,

une petite requête pour vérifier qu'un témoin est toujours vivant à date évènement auquel il est associé
- le contrôle se fait sur l'année seulement -
- l'état de sortie indique les événements pour lesquels  :
      année de l'évènement  >  année décès de la personne associée
- l'état montre les NIP  ( appel de l'individu auquel appartient l'évènement ... plus rapide via: Individu , Recherche par NIP )

SELECT
  INDIVIDU.KLE_DOSSIER,
  INDIVIDU.CLE_FICHE,
  INDIVIDU.NOM,
  INDIVIDU.PRENOM,
  EVENEMENTS_IND.EV_IND_TYPE,
  EVENEMENTS_IND.EV_IND_DATE,
  REF_RELA_TEMOINS.REF_RELA_LIBELLE,
  T_ASSOCIATIONS.ASSOC_KLE_ASSOCIE,
  INDIVIDU1.NOM,
  INDIVIDU1.PRENOM,
  INDIVIDU1.ANNEE_NAISSANCE,
  INDIVIDU1.ANNEE_DECES,
  INDIVIDU1.DATE_DECES
FROM
  INDIVIDU
  INNER JOIN EVENEMENTS_IND ON (INDIVIDU.CLE_FICHE = EVENEMENTS_IND.EV_IND_KLE_FICHE)
  INNER JOIN T_ASSOCIATIONS ON (EVENEMENTS_IND.EV_IND_CLEF = T_ASSOCIATIONS.ASSOC_EVENEMENT)
  INNER JOIN INDIVIDU INDIVIDU1 ON (T_ASSOCIATIONS.ASSOC_KLE_ASSOCIE = INDIVIDU1.CLE_FICHE)
  INNER JOIN REF_RELA_TEMOINS ON (T_ASSOCIATIONS.ASSOC_TYPE = REF_RELA_TEMOINS.REF_RELA_CODE)
WHERE
  (T_ASSOCIATIONS.ASSOC_TABLE = 'I') AND
  (EVENEMENTS_IND.EV_IND_DATE_YEAR > INDIVIDU1.ANNEE_DECES) AND
  (INDIVIDU.KLE_DOSSIER = 1)
ORDER BY
  EVENEMENTS_IND.EV_IND_DATE,
  EVENEMENTS_IND.EV_IND_TYPE

je joins image de réalisation avec le Générateur SQL