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 :

Requête SQL particulière


Sujet :

Langage SQL

  1. #1
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 682
    Points : 1 952
    Points
    1 952
    Par défaut Requête SQL particulière
    Salut all,

    J'ai actuellement un requete simple qui me permet de compter le nombre de valeurs dans qq zones.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = 'SELECT SUM(zone_x1 + zone_x2 + zone_x3 + zone_x4 + zone_x5) AS nmbtotal
        FROM ma_table';
    Alors ca fonctionne nickel, mais maintenant je dois rajouter une double condition dans chacune des zones ...
    Je dois faire en sorte que si la valeur de zone_x1 ou zone_x2 ou zone_x3 ou zone_x4 ou zone_x5 contient la valeur '10000' ou '20000', je ne dois pas la compter, mais juste l'ignorer.

    Des idees pour faire ceci.
    Merci pour votre aide.
    Que les neurones soient avec toi, jeune padawan.
    Ne pas oublier, qu'un métier, développer être.
    Effectuer des recherches et lire les tutos, avant de poster, tu dois.
    Aucune question technique, faites par MP, tu ne dois.

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

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut toi !

    Ton explication est un peu confuse dans la mesure où tu veux "compter", puis tu utilises SUM. Je vais donc supposer que tu veux "sommer".

    Pour ton problème, utilise CASE pour transformer la valeur en 0 le cas échéant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sql = 'SELECT SUM(CASE WHEN zone_x1 IN (10000, 20000) THEN 0 ELSE zone_x1 END 
                       + WHEN zone_x2 IN (10000, 20000) THEN 0 ELSE zone_x2 END
                       + WHEN zone_x3 IN (10000, 20000) THEN 0 ELSE zone_x3 END
                       + WHEN zone_x4 IN (10000, 20000) THEN 0 ELSE zone_x4 END 
                       + zone_x5) AS nmbtotal
        FROM ma_table';
    J'interprète ton "contient la valeur" par "vaut"... si ce n'est pas le cas, dis moi ce que tu entends par "contient la valeur"

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  3. #3
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 682
    Points : 1 952
    Points
    1 952
    Par défaut
    Effectivement c'est un sum dont j'ai besoin et à la lecture de ton code, ca a l'air d'etre ok.
    Je vais tester tout cela et je t'en remercie grandement
    Que les neurones soient avec toi, jeune padawan.
    Ne pas oublier, qu'un métier, développer être.
    Effectuer des recherches et lire les tutos, avant de poster, tu dois.
    Aucune question technique, faites par MP, tu ne dois.

Discussions similaires

  1. [SQL] Requête assez particulière
    Par rems033 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/06/2008, 15h37
  2. Requête SQL particulière dans procédure stockée
    Par stephane.julien dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/05/2008, 10h56
  3. Requête SQL particulière
    Par stephane.julien dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/03/2008, 09h32
  4. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  5. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/02/2003, 16h44

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