Oracle SQL - Recuperer les informations suivant nom prenom date de naissance et sexe
Récupération des informations pour une personne suivant sa date de naissance.
Recherche sur nom de naissance car pas de nom d’usage pour les hommes (il est vide dans la table pour les hommes).
SELECT
PAT.IDENTITE.IDP IPP,
PAT.IDENTITE_ADRESSE.RUE AD1,
PAT.IDENTITE_ADRESSE.PREMIERELIGNE AD2,
PAT.IDENTITE_ADRESSE.CODEPOSTAL CP,
PAT.IDENTITE_ADRESSE.VILLE VILLE,
PAT.IDENTITE_TRAITS_COMPL.TELEPHONE_DOMICILE DOM,
PAT.IDENTITE_TRAITS_COMPL.TELEPHONE_PORTABLE MOB
FROM
PAT.IDENTITE,
PAT.IDENTITE_ADRESSE,
PAT.IDENTITE_TRAITS_COMPL
WHERE
( PAT.IDENTITE_ADRESSE.IDDI(+) = PAT.IDENTITE.IDDI and PAT.IDENTITE_ADRESSE.IDP(+) = PAT.IDENTITE.IDP and PAT.IDENTITE_ADRESSE.TYPEADRESSE(+) = 'H' )
AND ( PAT.IDENTITE.IDDI = PAT.IDENTITE_TRAITS_COMPL.IDDI(+) and PAT.IDENTITE.IDP = PAT.IDENTITE_TRAITS_COMPL.IDP(+) )
AND
(
TRUNC(PAT.IDENTITE.DATENAIS) = to_date ('$Date;','YYYYMMDD')
AND
PAT.IDENTITE.NOMNAIS = '$Nom;'
AND
PAT.IDENTITE.PRENOMUSAGE = '$Prenom;'
AND
PAT.IDENTITE.SEXE IN ( 'M' )
)
Requête identique pour les femmes non mariées car le nom d’usage est vide comme les hommes
SELECT
PAT.IDENTITE.IDP IPP,
PAT.IDENTITE_ADRESSE.RUE AD1,
PAT.IDENTITE_ADRESSE.PREMIERELIGNE AD2,
PAT.IDENTITE_ADRESSE.CODEPOSTAL CP,
PAT.IDENTITE_ADRESSE.VILLE VILLE,
PAT.IDENTITE_TRAITS_COMPL.TELEPHONE_DOMICILE DOM,
PAT.IDENTITE_TRAITS_COMPL.TELEPHONE_PORTABLE MOB
FROM
PAT.IDENTITE,
PAT.IDENTITE_ADRESSE,
PAT.IDENTITE_TRAITS_COMPL
WHERE
( PAT.IDENTITE_ADRESSE.IDDI(+) = PAT.IDENTITE.IDDI and PAT.IDENTITE_ADRESSE.IDP(+) = PAT.IDENTITE.IDP and PAT.IDENTITE_ADRESSE.TYPEADRESSE(+) = 'H' )
AND ( PAT.IDENTITE.IDDI = PAT.IDENTITE_TRAITS_COMPL.IDDI(+) and PAT.IDENTITE.IDP = PAT.IDENTITE_TRAITS_COMPL.IDP(+) )
AND
(
TRUNC(PAT.IDENTITE.DATENAIS) = to_date ('$Date;','YYYYMMDD')
AND
PAT.IDENTITE.NOMNAIS = '$Nom;'
AND
PAT.IDENTITE.PRENOMUSAGE = '$Prenom;'
AND
PAT.IDENTITE.SEXE IN ( 'F' )
)
Ici on utilise ‘nomusage’ car les femmes ont leurs noms de mariées de renseignés
SELECT
PAT.IDENTITE.IDP IPP,
PAT.IDENTITE_ADRESSE.RUE AD1,
PAT.IDENTITE_ADRESSE.PREMIERELIGNE AD2,
PAT.IDENTITE_ADRESSE.CODEPOSTAL CP,
PAT.IDENTITE_ADRESSE.VILLE VILLE,
PAT.IDENTITE_TRAITS_COMPL.TELEPHONE_DOMICILE DOM,
PAT.IDENTITE_TRAITS_COMPL.TELEPHONE_PORTABLE MOB
FROM
PAT.IDENTITE,
PAT.IDENTITE_ADRESSE,
PAT.IDENTITE_TRAITS_COMPL
WHERE
( PAT.IDENTITE_ADRESSE.IDDI(+) = PAT.IDENTITE.IDDI and PAT.IDENTITE_ADRESSE.IDP(+) = PAT.IDENTITE.IDP and PAT.IDENTITE_ADRESSE.TYPEADRESSE(+) = 'H' )
AND ( PAT.IDENTITE.IDDI = PAT.IDENTITE_TRAITS_COMPL.IDDI(+) and PAT.IDENTITE.IDP = PAT.IDENTITE_TRAITS_COMPL.IDP(+) )
AND
(
TRUNC(PAT.IDENTITE.DATENAIS) = to_date ('$Date;','YYYYMMDD')
AND
PAT.IDENTITE.NOMUSAGE = '$Nom;'
AND
PAT.IDENTITE.PRENOMUSAGE = '$Prenom;'
AND
PAT.IDENTITE.SEXE IN ( 'F' )
)
Comments