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 :

Exclure une valeur sans la clause WHERE?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant Décisionnel
    Inscrit en
    Janvier 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 128
    Par défaut Exclure une valeur sans la clause WHERE?
    Bonjour à tous,

    J'ai une petite question je souhaite exclure de ma sélection des valeurs 'N/A' lors de mes requêtes sans utiliser la clause Where (car je suis sous IDT(Designer Univers) de BO et ça me créait des problèmes, mais en la passant dans la clause Select.

    Est ce que vous connaissez la syntaxe?

    donc passer de :

    Where MaColonne <>'N/A'

    à

    Select ??????

    Merci d'avance.

  2. #2
    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
    Votre question me paraît bien étrange.
    Est-ce ceci que vous cherchez à obtenir ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nullif(MaColonne, 'N/A') as MaColonne, ...

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant Décisionnel
    Inscrit en
    Janvier 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 128
    Par défaut
    Je connaissais pas cette fonction, donc ça m'a aidé mais :

    après une aprem de réflexion et de prise de tête! Je me demande plutôt comment on doit gérer les Null dans une base de données, on m'a dit que laisser NULL (donc pas de valeur) ce n'est pas top, donc plutôt gérer les null par une valeur (type : N/A ou bien encore quelque chose de plus explicite comme : "Valeur non permise avec ce type d'Article."

    Vous en pensez quoi? Comment vous gérez les NULL dans vos bases de données? est-ce que vous mettez une valeur par défaut pour justement éviter les NULL?

  4. #4
    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 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    NULL se gère avec NULL, pour plein de raisons. Entre autres, il est identique quel que soit le type de la colonne, il est géré par différentes fonctions, etc.

    Bref, il est recommandé de ne pas le modifier. Pour les nombres, comment allez-vous le remplacer ? Pour les chaînes de caractères ? Plus compliqué encore, pour les booléens (qui ne peuvent prendre que 2 valeurs : VRAI ou FAUX)...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    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
    Null correspond à l'absence de valeur et c'est très bien comme ça.
    Si vous commencez à mettre des valeurs type : "Valeur non permise avec ce type d'Article" dans votre base au lieu de null, la volumétrie va augmenter et les performances décroître, pour un gain... nul, justement.

    1. Gérez le null au moment de la restitution via des expressions à l'aide de la fonction coalesce.
    2. Apprenez à écrire des requêtes en prenant en compte les colonnes nullables.
    3. Ne mettez pas des valeurs bidons à la place de vos nulls


    Les puristes de la modélisation rétorqueront que dans une base bien modélisée, il n'y a pas de null, mais dans la vraie vie il y en a souvent !

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant Décisionnel
    Inscrit en
    Janvier 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 128
    Par défaut
    Ok, dans mon cas du coup je pense gérer mes problèmes de Null, en laissant Null justement ! Donc avec des jointures externes. Mais les jointures externes prennent pas mal de ressources non?

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

Discussions similaires

  1. [SQL] Exclure une valeur
    Par niceen dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/01/2008, 11h59
  2. Récupérer une valeur sans recharger ma page
    Par chantal6698213 dans le forum ASP
    Réponses: 7
    Dernier message: 23/09/2007, 10h14
  3. exclure une valeur d'un SELECT AVG()
    Par adr22 dans le forum Langage SQL
    Réponses: 15
    Dernier message: 11/09/2007, 20h58
  4. ORACLE 9.2 : Création d'une vue avec plusieurs clauses WHERE
    Par soffinette dans le forum Administration
    Réponses: 4
    Dernier message: 01/02/2007, 10h51
  5. tri par rapport à une liste dans la clause where
    Par umbakrail dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 19/07/2006, 11h32

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