IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Clause NOT LIKE avec une liste de valeurs dans une table [10g]


Sujet :

SQL Oracle

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut Clause NOT LIKE avec une liste de valeurs dans une table
    Bonjour

    J'ai pas mal cherché via Google mais rien trouvé pour effectuer cela.

    J'ai souvent besoin dans mes requêtes d'exclure certaines lignes selon une liste de valeurs, qui change de temps en temps. Donc plutot que d'écrire en dur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where champ not like '%A%' and champ not like '%B%'
    je souhaiterais obtenir le même résultat mais avec "A" et "B" lus dans une table.

    Est ce posible ?

    Merci
    Loko

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,


    passez par un exists / not exists

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut
    J'aurais dû y penser.
    Merci

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    développeur Oracle
    Inscrit en
    Février 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Roumanie

    Informations professionnelles :
    Activité : développeur Oracle
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Probablement tu désires prendre les valeurs "A" et "B" à partir d'une table parce que la requête devient parfaitement évolutive: pour aider beaucoup de nouveaux valeurs vous devez faire quelques INSERT opérations, sans changement de requête.



    Les solutions non-évolutive sont plusieurs: avec EXISTS opérateurs, avec REGEXP_LIKE fonctions or avec un enchainement de déclarations comme ça

    SELECT ... LIKE ...

    UNION



    Pour retour à notre situation jetez un oeil sur le code suivant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    CREATE TABLE nom_pays(nom VARCHAR2(30));
     
     
    INSERT INTO nom_pays VALUES ('Angleterre');
    INSERT INTO nom_pays VALUES ('Allemagne');
    INSERT INTO nom_pays VALUES ('France');
    INSERT INTO nom_pays VALUES ('Argentin');
    INSERT INTO nom_pays VALUES ('Finlande');
    INSERT INTO nom_pays VALUES ('Italie');
     
     
    CREATE TABLE modeles (modele VARCHAR2(20));
     
     
    INSERT INTO modeles VALUES ('A%');
    INSERT INTO modeles VALUES ('F%');
     
     
    SELECT np.* FROM nom_pays np JOIN modeles m ON (np.nom LIKE m.modele);
    Bonne chance!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Utiliser valeur d'une liste de choix dans une liste déroulante d'un autre formulaire
    Par Sébastien1609 dans le forum Macros Access
    Réponses: 1
    Dernier message: 11/06/2015, 15h31
  2. Réponses: 9
    Dernier message: 21/05/2014, 20h21
  3. insérer une liste de valeurs dans une colonne
    Par ecdxml dans le forum SQL
    Réponses: 7
    Dernier message: 16/10/2009, 15h57
  4. liste de valeurs dans une liste deroulante
    Par averooès dans le forum IHM
    Réponses: 14
    Dernier message: 07/10/2008, 13h28
  5. [Debutant]Remplacer une liste de valeur par une liste de val
    Par Sebbo dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 31/03/2006, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo