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

PostgreSQL Discussion :

Simplifier une requête


Sujet :

PostgreSQL

  1. #1
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut Simplifier une requête
    Rebonjour ,

    J'ai une table avec 2 champs de type texte : champ1 , champ2.

    Chacun des 2 champs peut être null , '' , ou avec une valeur

    Je dois vérifier que , quand si champ1 est rempli alors champ2 l'est et j'ai donc la requête suivante qui me sort les anomalies :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM matable
    WHERE ( champ1 is not null AND champ1 <> '' )
    AND (champ2 is null or champ2 = '');
    D'après le post précédent , on peut simplifier sur le champ1 en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM matable
    WHERE champ1 <> '' 
    AND (champ2 is null or champ2 = '');
    Y a-t-il moyen de simplifier aussi sur champ2 , sans qu'on oublie des lignes d'anomalies ?

    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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,

    non

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 038
    Points : 23 783
    Points
    23 783
    Par défaut
    Bonjour,

    On peut jouer avec la fonction COALESCE, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM matable
    WHERE COALESCE(champ1, '') <> '' 
    AND COALESCE(champ2, '') = '';

Discussions similaires

  1. [MySQL] Simplifier une requête
    Par eldorplus dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/05/2011, 10h02
  2. [MySQL] Simplifier une requête SQL
    Par maestro982 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/05/2010, 13h26
  3. [MySQL] Simplifier une requête
    Par novphp dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 31/01/2009, 12h18
  4. simplifier une requête avec des 'OR'
    Par Spaccio dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/05/2008, 10h06
  5. [SQL] Simplifier une requête SQL ?
    Par renaud26 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/04/2006, 13h50

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