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 somme prix


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Points : 43
    Points
    43
    Par défaut requete somme prix
    Bonjour,
    J'ai 4 table d'une base de donnée voila quelques colonnes de chaque table:
    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
    23
    24
     
    MFT_AR_DETAILR: Table reservation
    ------------------------------------
    MFT_AR_DETAILR_YRES_ID (l'ID de la réservation)
    MFT_AR_DETAILR_PRIXA    
    MFT_AR_DETAILR_PRIXB
    MFT_AR_DETAILR_PRIXC
    MFT_AR_DETAILR_PRIXT
    MFT_AR_DETAILR_FAC (clé étrangère qui référence a la table facture)
    MFT_AR_DETAILR_CURRENT_DATE (date courante pour chaque jour de la réservation)
    MFT_AR_FACTURE: Table facture
    ---------------------------------------
    FA_ID (l'ID de la facture)
    FA_DB (l'agence)
    FA_TD (taux de change)
    MFT_AR_DETAIL_FACTURE: Détails de la facture
    ----------------------------------------------
    DF_ID (l'ID de détails de la facture)
    DF_FA_ID (clé étrangère qui référence a la table facture)
    DF_YRES_ID (clé étrangère qui référence à la table réservation)
    MFT_AR_PROMO: Table promotion
    MFT_AR_PROMO_YRES_ID(clé étrangère qui référence à la table réservation)
    MFT_AR_PROMO_DATE (date courante de chaque ligne)
    MFT_AR_PROMO_MOUNT(Montant de la promotion)
    Le problème, si l'utilisateur passe en paramètre une date le système doit doit retourner les factures et no pas avec leurs totalités de montant mais il fait la somme des quatres prix de la réservations et la somme des promotions et qui ont des dates inférieur ou égale à la date passée en paramètre et en respectant la jointure entre les réservations et leurs factures et leurs promotions
    Par exemple:
    si dans la table réservations j'ai lés lignes suivantes est qui sont tous liées à la même facture:
    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
     
    ID       PrixA                  PrixB           PrixC     PrixT  ID_Fac        Date
    1         20                     10              10        10        1          1/1/2000
    2         30                     10              10        10        1          2/1/2000
    3         15                     10              10        10        1          3/1/2000
    aussi j'ai les lignes suivantes dans la table promotion
    ID_RES           Date          Mount
    1                  1/1/2000      10
    1                  2/1/2000      15
    1                  3/1/2000      10
    2                  1/1/2000        9
    2                  2/1/2000        9
    2                  3/1/2000        9
    3                  1/1/2000      10
    3                  2/1/2000      10
    3                  3/1/2000      10
    Si l'utilisateur passe en paramètre la date 2/1/2000
    le système doit retourner la somme des 4 prix de la table réservation
    et la somme des promotions et qui ont une date <= à 2/1/2000 ainsi que les info de la factures
    Merci d'avance

  2. #2
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    avec un case

    genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUM(CASE WHEN date <= à 2/1/2000 then Mount else 0 end)

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Points : 43
    Points
    43
    Par défaut requete somme prix
    Désolé mais j'ai pas compris votre idée, moi je veux une requête de sélection et non pas une procédure et la date passée en paramètre c'est au niveau de l'application vb6

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    CASE est une instruction SQL.
    Ceci dit, c'est probablement mieux dans votre cas de passer par la condition de jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT fac.id_fac,
           max(res.prixA+res.prixB+res.prixC+res.prixT) + sum(promo.mount) AS prix_total
    FROM facture fac
    JOIN reservation res ON res.id_fac = fact.id_fac
    LEFT JOIN promotion promo ON promo.id_res = res.id_res AND promo.MFT_AR_PROMO_DATE <= res.MFT_AR_DETAILR_CURRENT_DATE
    WHERE res.MFT_AR_DETAILR_CURRENT_DATE = <DATE voulue>
    GROUP BY fact.id_fac

Discussions similaires

  1. Problème avec une requete somme
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/08/2007, 17h08
  2. [requete] somme chiffre
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/07/2007, 21h35
  3. [requete]somme de plusieur champs séparés
    Par Neilime05 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/04/2007, 21h15
  4. requete = somme de 2 requetes
    Par debdev dans le forum Access
    Réponses: 2
    Dernier message: 01/06/2006, 10h23
  5. Somme de 2 requetes somme
    Par sqlnoob dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/06/2005, 13h38

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