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 requête OR


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut Problème requête OR
    Bonjour,

    Suivant cette requête j'ai un problème car la somme des nombres d'éléments des deux premières requêtes n'est pas égal la dernière...
    What's going on?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(idcr00) FROM [RA_2013].[dbo].[Dec_2010] where RA_CRD=1
    SELECT COUNT(idcr00) FROM [RA_2013].[dbo].[Dec_2010] where RA_VERST=1
    SELECT COUNT(idcr00) FROM [RA_2013].[dbo].[Dec_2010] where (RA_CRD=1 OR RA_VERST=1)

    Merci à vous

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 244
    Points : 12 878
    Points
    12 878
    Par défaut
    Bonjour,
    Les tests portent sur 2 colonnes différentes.
    Si une ligne vérifie les deux tests, elle sera compté une fois pour chacune des deux premières requêtes (donc total 2), et une seule fois pour la deuxième requête.
    D'où le total différent.

    Tatayo.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Ah wow d'accord merci.
    Comment faire alors pour avoir tout les idcr00 si RA_CRD=1 ou si RA_VERST=1 ?

    Merci beaucoup

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 244
    Points : 12 878
    Points
    12 878
    Par défaut
    Mais c'est justement ce que fait la deuxième requête... Si une ligne vérifie les deux conditions, elle ne doit être compté qu'une seule fois, puisque c'est une seule ligne.
    Cas concret:
    Je compte le nombre de véhicule à 4 roues: 150
    Je compte le nombre de véhicule rouges: 100
    Je compte le nombre de véhicules rouges ou 4 roues: je peux très bien n'en avoir que 160 (une ferrari rouge je compte que pour 1, malgré son prix ).

    Sinon pour compter 2 fois les lignes qui vérifient les deux tests:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select sum(decode(ra_crd,1,1,0) + decode(ra_verst,1,1,0))
    FROM [RA_2013].[dbo].[Dec_2010]
    WHERE (RA_CRD=1 OR RA_VERST=1)

    Tatayo.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Certes! Autant pour moi,
    Merci beaucoup encore

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

Discussions similaires

  1. Problème: Requête utilisant NOT IN
    Par fages dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/05/2004, 10h18
  2. erreur3073 Problème requête
    Par amel123456789 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/04/2004, 10h15
  3. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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