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 :

test de champ dans la clause where


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Par défaut test de champ dans la clause where
    bonjour,
    pouvez vous sp m'aider, je n'arrive pas à trouver une solution à mon problème.
    je cherche à tester la valeur du champ field1 dans la clause where,
    si field1 est différent de null je le rajoute dans la clause where,
    sinon (field1=null) ne sera pas ajouté dans la clause
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE tab1 
      SET S1_EDITED_FLAG = 'Y' 
     WHERE BUSINESS_UNIT = 'bu'
       AND CASE WHEN field1 is not null THEN champ1 ELSE END 
       AND S1_EDITED_FLAG = 'N'
    besoin d'aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    pas compris ! Écris explicitement ce que tu veux faire avec ton field1
    Tu veux le comparer avec Champ1?
    Si tu fais implicitement le cas où field1 est null sera faux.

  3. #3
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Justement, je pense que notre amis ne veut pas que ce soit "faux".
    Je suppose que "ne sera pas ajouté à la clause where" veut dire ne pas filtrer...

    Donc je dirais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE field1 IS NULL or field1 = Champ1

  4. #4
    Membre éclairé Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Par défaut
    désolé, j'ai commis une erreur,
    voici la requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE tab1 
      SET S1_EDITED_FLAG = 'Y' 
     WHERE BUSINESS_UNIT = 'bu'
       AND CASE WHEN field1 IS NOT NULL THEN field1 mp1 ELSE END 
       AND S1_EDITED_FLAG = 'N'
    bref, si le champ field1 est null, il ne sera pas pris en compte dans la clause where.

    cdt

  5. #5
    Invité
    Invité(e)
    Par défaut
    Et ça marche ce bout-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND CASE WHEN field1 IS NOT NULL THEN field1 mp1 ELSE END

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Ça veut dire quoi pour vous prendre un compte une colonne dans le filtre ?
    Si votre colonne field contient la valeur 3, WHERE 3 ne signifie rien.

Discussions similaires

  1. Utilisation d'un champ dans la clause WHERE
    Par jdelire dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/11/2011, 11h32
  2. Update d'un champ dans une clause WHERE
    Par spawns dans le forum MySQL
    Réponses: 8
    Dernier message: 17/11/2008, 10h50
  3. Utiliser un champ Oui/Non dans une clause WHERE ?!
    Par _MattU_ dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/06/2008, 13h32
  4. Réponses: 8
    Dernier message: 16/08/2006, 14h39
  5. Ordre des tests dans la clause WHERE
    Par Tans98 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/09/2004, 10h52

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