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 :

Requete avec filtre sur un champ


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut Requete avec filtre sur un champ
    bonjour a tous,
    voila mon probleme, j'aimerai rajouter a cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT T_Stat.codeFamille, T_Stat.codeArticle, T_Stat.libelleArticle, Sum(T_Stat.qteCommandee) AS QTECOM, Sum(T_Stat.qteLivree) AS QTELIV, Sum(T_Stat.prixDesCdes) AS PLHTN 
    FROM T_Stat 
    WHERE (((T_Stat.codePays)=forms!F_MenuTriArtPays!zdldPays)) 
    GROUP BY T_Stat.codeFamille, T_Stat.codeArticle, T_Stat.libelleArticle;
    un autre SUM à la suite de celui ci "Sum(T_Stat.prixDesCdes) AS PLHTN" mais selon un filtre dans la clause where qui donnerait cela : where T_Stat.LI2NFA <> 0 mais uniquement pour mon nouveau SUM qui serait Sum(T_Stat.prixDesLivraisons) AS PLHTN_BIS
    J'espere avoir été clair merci d'avance pour votre aide

  2. #2
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Quel est ton SGBD ?

    Tu ne peux pas faire qqchose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sum(case when T_Stat.LI2NFA <> 0 then T_Stat.prixDesCdes else 0 end)

    Laly.

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    bjr
    je suis sur access et je tape mes requetes directement en sql ds l'assistant
    pourrais tu m'en dire plus sur les solutions possibles
    merci

  4. #4
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Euh oui, dans ce cas, il vaut mieux poser la question directement sur le forum Access, tu seras plus à même d'obtenir des réponses pertinentes...


    Laly.

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    c'est ce que j'ai fait Laly ms pas de résultat intéressant donc c'est pour cela que je suis venu ici...

  6. #6
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Je suis désolé, je ne connais pas assez Access pour pouvoir être en mesure de t'aider...

    Si tu ne passes pas par l'assistant mais que tu écris ta requête directement, tu n'as pas moyen d'utiliser une structure conditionnelle genre iif pour résoudre ton pb ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sum(iif(T_Stat.LI2NFA <> 0;T_Stat.prixDesCdes;0))
    Je sais plus si IIF fonctionne en SQL ou seulement en VBA...

    Laly.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 43
    Points : 35
    Points
    35
    Par défaut
    Je te dirais bien de faire un having dans ta requête :


    SELECT T_Stat.codeFamille, T_Stat.codeArticle, T_Stat.libelleArticle, Sum(T_Stat.qteCommandee) AS QTECOM, Sum(T_Stat.qteLivree) AS QTELIV, Sum(T_Stat.prixDesCdes) AS PLHTN
    FROM T_Stat
    WHERE (((T_Stat.codePays)=forms!F_MenuTriArtPays!zdldPays))
    GROUP BY T_Stat.codeFamille, T_Stat.codeArticle, T_Stat.libelleArticle;
    deviendrais =>

    SELECT T_Stat.codeFamille, T_Stat.codeArticle, T_Stat.libelleArticle, Sum(T_Stat.qteCommandee) AS QTECOM, Sum(T_Stat.qteLivree) AS QTELIV, Sum(T_Stat.prixDesCdes) AS PLHTN, Sum(T_Stat.prixDesLivraisons) AS PLHTN_BIS

    FROM T_Stat

    WHERE (((T_Stat.codePays)=forms!F_MenuTriArtPays!zdldPays))

    GROUP BY T_Stat.codeFamille, T_Stat.codeArticle, T_Stat.libelleArticle;

    HAVING PLHTN_BIS <>0

    Mais dans cette solution tu ne récupérera que les enregistrement qui on un PLHTN_BIS <> 0

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    merci de votre aide, on m'a proposé une solution ou je fais une jointure entre la table et elle meme pour pouvoir recuperer mes données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT T1.LI2FAM, T1.LI2CODEA, T1.LI2DES, Sum(T1.LI2QTECOM) AS QTECOM, Sum(T1.LI2QTELIV) AS QTELIV, Sum(T1.LI2PLHTN) AS PLHTN, Sum(T2.LI2PLHTN) AS PLHTNBis
    FROM T_Stat AS T1 INNER JOIN T_Stat AS T2 ON T1.code=T2.code
    WHERE (T1.LI2ZOP803)=forms!F_MenuTriArtPays!zdldPays and T2.LI2NFA<>0
    GROUP BY T1.LI2FAM, T1.LI2CODEA, T1.LI2DES;
    pour ta solution alex elle s'applique pas à mon cas. Merci qd meme
    Pour celle de laly j'ai des erreurs dc j'imagine que ça passe pas non plus. Merci à toi aussi
    a bientot

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

Discussions similaires

  1. Requete avec disctinct sur certains champs
    Par zandeparis dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 11/12/2009, 15h57
  2. [SQL - Oracle 9i] Requete Sql avec filtre sur critere
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 3
    Dernier message: 05/12/2007, 09h45
  3. requete avec filtre sur la date
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/02/2007, 12h49
  4. [Access] Requête (avec AND) sur 1 meme champ d'une table
    Par jeje22 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/09/2006, 23h59
  5. requete sql avec between sur des champs de type Date
    Par ersoufiane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/08/2006, 20h43

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