Probl. criteres extraction

From: Kevin <no_at_mail.fr>
Date: Tue, 22 Feb 2005 04:40:32 +0100
Message-ID: <421aa98e$2$30039$636a15ce_at_news.free.fr>



[Quoted] Je dois extraire de ma base, toutes les donnees des abonnes en fonction de ce qui est dans mon "select".
Par contre, il ne faut pas que j'ai ceux dont l'adresse n'est pas bonne (retour des courriers par la Poste avec mention NPAI) : Pour eux, 3 criteres sont donnes :
"M" pour ceux dont l'adresse est definitivement bloquee et a qui on envoie
plus rien
"1" pour ceux dont on a recu tres peu de courrier NPAI
"2" pour ceux dont les retours NPAI sont plus importants mais pas bloques

J'ai reussi a ecrire la requete suivante mais mes criteres de selection sur
"M", "1" et "2" ne marchent pas et je vois plus trop comment faire... Je
debute en SQL (j'ai repris la requete d'une deja faite). Si qqu'un peu me corriger ma requete, ca serait cool et si on m'explique le principe en meme temps, ce serait en mieux ;-)

D'avance, merci a tous !

SELECT DISTINCT
  c.LIBELLE_CIVILITE,
  p.NOM_ADHERENT nom,
  nls_initcap(p.PRENOM_ADHERENT) prenom,

  nvl(a.LIGNE_ADRESSE_1,' ') ligne_adresse_1,
  nvl(a.LIGNE_ADRESSE_2,' ') ligne_adresse_2,
  nvl(a.LIGNE_ADRESSE_3,' ') ligne_adresse_3,
  nvl(a.LIGNE_ADRESSE_4,' ') ligne_adresse_4,
  nvl(a.LIGNE_ADRESSE_5,' ') ligne_adresse_5,
  HISTO_MATRICULE.NUMERO_MATRICULE matricule,   p.NUMERO_ADHERENT
FROM
  POSITION,
  SECTION,
  ADHERENT p,
  HISTO_MATRICULE,
  CIVILITE c,
  ADRESSE a,
  FAMILLE f,
  HISTO_FAMILLE,
  BLOCAGE_ADRESSE
WHERE
  ( BLOCAGE_ADRESSE.CODE_BLOCAGE != 'M' OR BLOCAGE_ADRESSE.CODE_BLOCAGE !=
'1' OR BLOCAGE_ADRESSE.CODE_BLOCAGE != '2' )
  AND  ( HISTO_FAMILLE.NUMERO_BENEFICIAIRE=p.NUMERO_BENEFICIAIRE  )
  AND  ( HISTO_MATRICULE.NUMERO_FAMILLE=f.NUMERO_FAMILLE  )
  AND  ( c.CODE_CIVILITE=p.CODE_CIVILITE  )
  AND  ( a.NUMERO_ADRESSE=p.NUMERO_ADRESSE_ADHERENT  )
  AND ( f.NUMERO_FAMILLE=HISTO_FAMILLE.NUMERO_FAMILLE )     AND ( p.DATE_NAISSANCE_ADHERENT > '31/12/1980' AND p.DATE_NAISSANCE_BENEFICIAIRE < '01/01/1988' )
  AND  ( HISTO_MATRICULE.DATE_FIN_MATRICULE is null  )
  and  (p.code_section = section.code_section)
  and  ( POSITION.CODE_POSITION = 'AD' OR POSITION.CODE_POSITION = 'AP' OR
POSITION.CODE_POSITION ='PM' )
ORDER BY
  2,3; Received on Tue Feb 22 2005 - 04:40:32 CET

Original text of this message