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

Requêtes MySQL Discussion :

Création d'une requête à partir de 3 tables (+conditions)


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Création d'une requête à partir de 3 tables (+conditions)
    Bonjour,

    Je suis débutant sur SQL, et je souhaiterais créer une requête à partir de 3 tables

    Table 1

    client produit currency1 Amount
    A Produit 1 USD 10
    B Produit 1 EUR 20
    C Produit 2 EUR 30
    D Produit 3 GBP 40
    A Produit 1 EUR 10

    Table 2

    produit currency2
    Produit 1 EUR
    Produit 2 USD
    Produit 3 GBP

    Table 3

    currency_base currency_fx Fx
    EUR EUR 1
    EUR GBP 0,882
    EUR USD 1,1156

    Résultat souhaité

    client produit currency1 Amount currency2 Fx_Applied Amount_Act
    A Produit 1 USD 10 EUR 0,896 8,96
    B Produit 1 EUR 20 EUR 1,000 20,00
    C Produit 2 EUR 30 USD 1,116 33,47
    D Produit 3 GBP 40 GBP 1,000 40,00
    A Produit 1 EUR 10 EUR 1,000 10,00


    # Les colonnes "clients", "produit", "currency1" et "Amount" sont alimentés à partir de la table 1.
    La colonne "currency1" est la devise du produit
    # La colonne "currency2" est alimentée à partir de la table 2, à partir du champ produit
    La colonne "currency2" correspond à la devise de la famille du produit, et est donc la devise de référence pour le produit.
    # La colonne Fx_Applied est alimentée de la manière suivante:
    - Si currency1 = currency_base et currency2=currency_fx alors Fx_Applied = 1/fx
    - Si currency1 = currency_fx et currency2=currency_base alors Fx_Applied = fx
    - Si currency1 = currency2 alors Fx_Applied = 1
    # La colonne Amount_Act = Amount * Fx_Applied

    Merci beaucoup de votre aide,

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 786
    Points
    30 786
    Par défaut
    Qu'as-tu déjà essayé ?
    Où rencontres-tu un problème dans la rédaction de ta requête ?
    Une erreur de syntaxe ? Laquelle ?
    Un résultat erroné ? Quel est le résultat attendu ? obtenu ? Avec quelles données ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. [AC-2010] Création d'une requête (transformation de table)
    Par othmanepf dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/09/2017, 15h38
  2. Réponses: 2
    Dernier message: 04/09/2012, 10h19
  3. Réponses: 7
    Dernier message: 12/06/2008, 13h26
  4. Réponses: 3
    Dernier message: 19/05/2008, 10h36
  5. création de requète à partir de 2 tables
    Par cheucheu dans le forum Access
    Réponses: 4
    Dernier message: 14/12/2005, 16h49

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