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

SQL Firebird Discussion :

FB 1.5 : Trois tables et deux SUM


Sujet :

SQL Firebird

  1. #1
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut FB 1.5 : Trois tables et deux SUM
    Bonjour,

    J'ai trois tables en relation 1-N

    DEVIS->>> DETAILDEVIS->>> DETAILMINUTE
    clé CODEDEVIS CODEDETAILDEVIS


    et j'ai deux champs QUANTITE, l'un situé dans la table DETAILDEVIS et l'autre DETAILMINUTE

    Je souhaiterais faire apparaître le cumul des quantités par prix, dans ces deux tables :

    voilà la requête,

    mais celle-ci me renvoie des quantités supérieures dans DETAILDEVIS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    SELECT 
      DETAILDEVIS.NOPRIX,
      DETAILDEVIS.LIBELLEPRIX,
      DETAILDEVIS.PU,
      sum(DETAILDEVIS.QUANTITE) AS QTEDEVIS,
      sum(DETAILMINUTE.QUANTITEAFACTURER) AS QTEFACTUREE
     
    FROM
      DETAILDEVIS
      INNER JOIN DEVIS ON (DETAILDEVIS.CODEDEVIS = DEVIS.CODEDEVIS)
      INNER JOIN DETAILMINUTE ON (DETAILDEVIS.CODEDETAILDEVIS = DETAILMINUTE.CODEDETAILDEVIS)
     
    WHERE
      DEVIS.CODEETATDEVIS <> 1 AND 
      DEVIS.CODEETATDEVIS <> 4 AND 
      DEVIS.CODEMARCHE = 91
     
    GROUP BY
      DETAILDEVIS.NOPRIX,
      DETAILDEVIS.LIBELLEPRIX,
      DETAILDEVIS.PU
    j'ai tenté d'écrire une sous-requête mais cette dernière n'est pas acceptée par ma version de firebird..

    Merci de vos conseils

    cantador

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Pour chaque DETAILMINUTE il ré additionne le DETAILDEVIS.QUANTITE qui lui correspond. C'est donc normal que vous n'obteniez pas le résultat voulu.

    Si je n'avais pas la possibilité de passer sous fb 2.x je résoudrais ce problème en créant une procédure stockée.

    Sinon vous pouvez le faire avec 2 requêtes.

  3. #3
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    merci Barbibulle,

    mêmes conclusions que toi..

    bof, je vais écrire un peu de code pour m'en sortir.

    @bientôt

Discussions similaires

  1. Requête sur trois tables avec deux sommes
    Par gpz1963 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/09/2013, 17h38
  2. Réponses: 8
    Dernier message: 20/05/2012, 15h19
  3. SUM sur trois tables
    Par charrynsasi dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/04/2012, 18h17
  4. Modelisation entre deux ou trois tables ?
    Par Mut dans le forum Modélisation
    Réponses: 4
    Dernier message: 30/09/2010, 11h53
  5. SUM sur une jointure à trois tables
    Par Rapha222 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/06/2009, 16h52

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