Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Probl. criteres extraction

Re: Probl. criteres extraction

From: Mark Bole <makbo_at_pacbell.net>
Date: Tue, 22 Feb 2005 04:15:26 GMT
Message-ID: <ylySd.9750$DC6.5105@newssvr14.news.prodigy.com>


Kevin wrote:

> 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;
>
>

Instead of your "OR" clause, which is always true, I think you want "AND":

WHERE BLOCAGE_ADRESSE.CODE_BLOCAGE not in ('M', '1', '2')

but my French could be a little rusty... ;-)

-- 
Mark Bole
http://www.bincomputing.com
Received on Mon Feb 21 2005 - 22:15:26 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US