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

Langage SQL Discussion :

Problème avec plusieurs not like


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut Problème avec plusieurs not like
    bonjour à tous !

    J'ai une requête dans laquelle il y a plusieurs not like qui s'enchaine. Le problème est qu'elle me remonte quand même les résultat que j'ai exclus.

    ma requete :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    $rq_cpt=odbc_do($conn,"SELECT E7BUZA,DYEVZE,E7B4ZB from osm_option  
     
    WHERE (E7BUZA not like 'MODEM1'
    and E7BUZA not like 'DSI%'
    and E7BUZA not like 'GC%' 
    and E7BUZA not like 'GF%' 
    and E7BUZA not like 'GL%' 
    and E7BUZA not like 'GU%' 
    and E7BUZA not like 'MMA%' 
    and E7BUZA not like 'N2%' 
    and E7BUZA not like 'PNM%' 
    and E7BUZA not like 'RAB%'
    and E7BUZA not like 'RGF%' 
    and E7BUZA not like 'SPR%' 
    and E7BUZA not like 'VVMIL%' 
    and E7BUZA not like 'VPNGAR'
    and E7BUZA not like 'SC024'
    and E7BUZA not like 'SAE00%'
    and E7BUZA not like 'PROVP4' 
    and E7BUZA not like 'PRM001' 
    and E7BUZA not like 'PCM024')
     
    AND (DYEVZE not like '%Assistance%' 
    and DYEVZE not like '%coff.Itin.%' 
    and DYEVZE not like '%jumelle%'
    and DYEVZE not like '%tel%'
    and DYEVZE not like '%Achat%' 
    and DYEVZE not like '%Alcatel%' 
    and DYEVZE not like '%Pénalités%' 
    and DYEVZE not like '%TV%'
    and DYEVZE not like '%V66%' 
    and DYEVZE not like '%15 SMS%'
    and DYEVZE not like '%changement%'
    and DYEVZE not like '%Europe%'
    and DYEVZE not like '%bureau mobile%'
    and DYEVZE not like '%vocale%'
    and DYEVZE not like '%N°CP%' 
    and DYEVZE not like '%Fun%'
    and DYEVZE not like '%présentation%'
    and DYEVZE not like '%secret%'
    and DYEVZE not like '%répertoire%'
    and DYEVZE not like '%IAS%'
    and DYEVZE not like '%frais%' 
    and DYEVZE not like '%seconde' 
    and DYEVZE not like '%paiement%'
    and DYEVZE not like '%SIM%'
    and DYEVZE not like '%migration%'
    and DYEVZE not like '%RP%'
    and DYEVZE not like '%désimlockage%'
    and DYEVZE not like '%Cellway%'
    and DYEVZE not like '%prêt%'
    and DYEVZE not like '%SAV%' 
    and DYEVZE not like '%VPN juill. 05%'
    and DYEVZE not like '%engagement%'
    and DYEVZE not like '%engagt%'
    and DYEVZE not like '%tél. mobile%'
    and DYEVZE not like '%coffret%'
    and DYEVZE not like '%fidl%'
    and DYEVZE not like '%promo%' 
    and DYEVZE not like '%Infos%' 
    and DYEVZE not like '%bienvenue%' 
    and DYEVZE not like '%promotion%' 
    and DYEVZE not like '%couverture%' )
    AND (E7B4ZB=0 Or E7B4ZB>'$date_jour')
    group by DYEVZE,E7BUZA,E7B4ZB");
    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,


    Pouvez vous donner un exemple des résultat remontés par la requete et qui devraient être exclus.

    Quelle est le type et la collation des colonnes concernées par le filtre.

    Enfin, merci de préciser votre SGBDR

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Merci pour ta réponse

    Mon SGBD est une base AS400.
    Les deux champs concerné (DYEVZE et E7BUZA) sont de type texte.
    Je voudrais remonter toutes les valeurs qui ne contiennent pas les caractéres présent dans les 'Not like'.

    Mais le filtre ne se fait pas .

  4. #4
    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,

    Votre requête est bonne niveau syntaxe pour de l'as400.

    Par contre j'ai un doute concernant une de vos variables bindée .. :

    Or E7B4ZB>'$date_jour'
    Essayer de chopper l'execution de votre requête avec les binds sur l'as400 (cache plan) pour voir ce qui ne va pas. (ou, si vous avez, avec les logs applicatifs)

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 769
    Points : 52 720
    Points
    52 720
    Billets dans le blog
    5
    Par défaut
    Que d'horreur dans cette requête :
    1° un GROUP BY qui ne sert à rien
    2° des LIKE inutiles (exemple : E7BUZA not like 'PROVP4' , E7BUZA not like 'PRM001' , E7BUZA not like 'PCM024') que vous feriez bien de transformer en NOT IN....

    Enfin, êtes vous sur de votre OR ? Commencez par le retirer et voyez ce qui se passe....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre habitué Avatar de tfc3146
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2009
    Messages : 79
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Votre champ E7B4ZB est de quel type ? Car dans la 1ère condition vous l'appliquez sur du numérique E7B4ZB=0 puis ensuite sur du texte E7B4ZB>'$date_jour'.
    Essayez de séparer votre requête et de l'exécuter bloc par bloc, vous serez davantage fixé sur l'origine du problème.
    C'est en faisant n'importe quoi qu'on devient n'importe qui
    Si un message vous a aidé, n'hésitez pas à mettre +1

Discussions similaires

  1. Problème avec requête contenant like
    Par keisha dans le forum Bases de données
    Réponses: 4
    Dernier message: 25/08/2006, 20h23
  2. [VB6] Problème avec l'opérateur LIKE en SQL
    Par MGD_Software dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/07/2006, 14h56
  3. Réponses: 2
    Dernier message: 02/06/2006, 23h16
  4. Quelques problèmes avec SQL SERVEUR (LIKE et caractères)
    Par poussinphp dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/09/2005, 09h43
  5. [XP Pro]Problème avec plusieurs profils utilisateurs sur PC
    Par marsup54 dans le forum Windows XP
    Réponses: 8
    Dernier message: 27/04/2005, 09h32

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