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;
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Med Bouchenafa
Ton code SQL à l'air de provenir d'une base ORACLE Ce n'est pas forcément le meilleur forum pour avoir la meilleure réponse. Avant de te conseiller de changer de SGBDR pour SQL Server, il faut regarder à mettre une jointure entre la table BLOCAGE_ADRESSE et probablement la table ADRESSE.
-- Bien cordialement Med Bouchenafa
"Kevin" a écrit dans le message de news: 421a36f0$0$28430$
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;
Ton code SQL à l'air de provenir d'une base ORACLE
Ce n'est pas forcément le meilleur forum pour avoir la meilleure réponse.
Avant de te conseiller de changer de SGBDR pour SQL Server, il faut regarder
à mettre une jointure entre la table BLOCAGE_ADRESSE et probablement la
table ADRESSE.
--
Bien cordialement
Med Bouchenafa
"Kevin" <no@mail.fr> a écrit dans le message de news:
421a36f0$0$28430$626a14ce@news.free.fr...
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;
Ton code SQL à l'air de provenir d'une base ORACLE Ce n'est pas forcément le meilleur forum pour avoir la meilleure réponse. Avant de te conseiller de changer de SGBDR pour SQL Server, il faut regarder à mettre une jointure entre la table BLOCAGE_ADRESSE et probablement la table ADRESSE.
-- Bien cordialement Med Bouchenafa
"Kevin" a écrit dans le message de news: 421a36f0$0$28430$
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;