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

MS SQL Server Discussion :

Count SQL sur une valeur en particulier


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut Count SQL sur une valeur en particulier
    Bonjour, je ne parviens pas à faire une requete.

    J'ai une table avec des attributs ayants la valeur 0,1,2 ou VIDE

    EXEMPLE
    val1 - val2 - val3 - val4 ...
    0 - 1 - 0 - 2
    1 - 2 - 0 -
    1 - - 1 - 0

    Mon but est de récupérer pour chaque ligne un count sur toutes les valeurs à 0, et un count sur toutes les valeurs différentes de 0 ( donc 1 ou 2 )
    On ignore les VIDES.

    Je devrais donc retrouver :
    EXEMPLE
    val1 - val2 - val3 - val4 - COUNT1 - COUNT2
    0 - 1 - 0 - 2 - 2 - 2
    1 - 2 - 0 - - 1 - 2
    1 - - 1 - 2 - 0 - 3

    pour le count c'est pas compliqué, ce que je recherche c'est comment spécifié count UNIQUEMENT les cases qui ont valeur = 0 ?

    Merci

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT
     *,
     CASE WHEN val1 = 0 THEN 1 ELSE 0 END + CASE WHEN val2 = 0 THEN 1 ELSE 0 END + CASE WHEN val3 = 0 THEN 1 ELSE 0 END + CASE WHEN val4 = 0 THEN 1 ELSE 0 END AS count_1,
     CASE WHEN ISNULL(val1, 1) <> 0 THEN 1 ELSE 0 END + CASE WHEN ISNULL(val2, 1) <> 0 THEN 1 ELSE 0 END + CASE WHEN ISNULL(val3, 1) <> 0 THEN 1 ELSE 0 END + CASE WHEN ISNULL(val4, 1) <> 0 THEN 1 ELSE 0 END AS count_2
    FROM maTable
    ++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut
    merci pour la réponse. J'avais pensé à un truc comme ca mais le problème c'est que ca m'oblige à préciser val1 = 0 ....etc..

    Là ce n'était qu'une table exemple mais en réalité ma table à plus de 20 colonnes donc je me vois mal écrire ca pour chaque attribut.

    N'y a-t-il pas une fonctionnalité qui permet de rechercher les colonnes ayant pour valeur 0 ( sans préciser le nom de la colonne ? )

    merci

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Quelle version de SQL Server ? La réponse peut être différente en fonction de ce paramètre

    ++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut
    SQL server 2000 :-)

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

Discussions similaires

  1. requete SQL basée sur une valeur d'un edit
    Par imeneimene dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/06/2009, 08h54
  2. Réponses: 2
    Dernier message: 06/03/2008, 14h26
  3. Trier sur une valeur de champs et non sur le nom du champs
    Par kamalkam dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/05/2006, 17h41
  4. [XSL]appliquer la fonction substring sur une valeur récupéré
    Par totoranky dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 22/02/2006, 17h21
  5. Sql sur une base MySql
    Par Rickless dans le forum Bases de données
    Réponses: 17
    Dernier message: 06/04/2005, 13h06

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