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 :

problème requete multiplication


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 29
    Par défaut problème requete multiplication
    Bonjour,

    j'ai un petit( gros?!) soucis avec une requete SQL. Voici mes tables : @xxx représente les clés étrangères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Salarie(idSalarie, @idCsp)
    Formateur(idFormateur[@idSalarie])
    Csp(idCsp, salaireMoyHoraire)
    Formation(idFormation, libelleFormation)
    EffectueFormation(@idSalarie,@idFormateur,@idFormation, nbreHeure)
    Je dois calculer le cout d'une formation (effectueFormation):
    (salaireMoyHoraire du salarié * nbreHeure) + (salaireMoyHoraire du formateur * nbreHeure)

    Je ne vois pas du tout comment faire ... Un petit coup de main ne serait pas de refus !!

    Merci à vous

    Mich

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 99
    Par défaut
    Je pense que ce qui suit devrait te convenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Select
       formation.libelleFormation
       , (CspSalarie.salaireMoyHoraire * formationEffectuee.nbreHeure)
             +(CspFormateur.salaireMoyHoraire * formationEffectuee.nbreHeure) as coutFormation
    from
       EffectueFormation formationEffectuee
              inner join Formation formation on formationEffectuee.@idFormation = formation.idFormation
              inner join Salarie salarie on formationEffectuee.@idsalarie = salarie.idSalarie
              inner join Csp CspSalarie on CspSalarie.idCsp = salarie.@idCsp
              inner join Salarie formateur on formationEffectuee.@idsalarie = formateur.idSalarie
              inner join Csp CspSalarie on CspFormateur.idCsp = Formateur.@idCsp

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Pour une formation donnée, il n'y a pas qu'un seul couple (Formateur, Salarié) j'imagine ?
    Et dans ce cas je ne comprends pas bien la modélisation : comment calculer le nombre d'heures du formateur ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 99
    Par défaut
    Citation Envoyé par Médiat
    Pour une formation donnée, il n'y a pas qu'un seul couple (Formateur, Salarié) j'imagine ?
    Et dans ce cas je ne comprends pas bien la modélisation : comment calculer le nombre d'heures du formateur ?
    Je suis assez d'accord.

    Pour ma requête, je suis parti sur la base qu'une formation se faisait seulement entre 1 formateur et 1 salarié.

  5. #5
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 29
    Par défaut
    merci pour votre réponse!

    Un exemple :
    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
    25
    26
    27
    28
    29
    30
    31
    32
     
    Salarie :
    -------
    idSalarie      idCsp   
    10                2
    11                3
    12                3
     
    Csp :
    -----
    idCsp     SalaireMoyHoraire
    2                 20.5
    3                 42.5
     
    Formateur
    ----------
    idFormateur
    10
     
     
    Formation
    ----------
    idFormation     libelleFormation
    35                    anglais
    36                    espagnol
     
     
    EffectueFormation
    ------------------
    idSalarie    idFormateur   idFormation   nbreHeure
    11                10           35              3         
    11                10           36              6

    Je voudrais en réponse de requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    idSalarie    idFormateur   idFormation   nbreHeure    cout
    11                10           35            3        189
    11                10           36            6        378
    ici le cout 189 est obtenu en faisant : (3*42.5)+(3*20.5)


    J'espere que cela vous aideras à m'aider !

    Merci

    Mich

  6. #6
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Est ce que ceci te convient :

    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
    SELECT 
       a.*,
       (a.NbreHeure*c.SalaireMoyHoraire)+(a.NBREHEURE*e.SalaireMoyHoraire) AS cout
    FROM
     effectueFormation a,
       salarie b,
       csp c,
       salarie d,
       csp e 
    WHERE
       c.IDCSP=b.IDCSP AND
       b.IDSALARIE=a.IDSALARIE AND
       d.IDCSP=e.IDCSP AND
       d.IDSALARIE =a.IDFORMATEUR 


    Bon courage

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

Discussions similaires

  1. Problème swich multiples dans requete méta
    Par AurelienNF dans le forum Langage
    Réponses: 6
    Dernier message: 16/12/2010, 20h15
  2. [AJAX] multiple requete XMLHttpRequest
    Par totoAussi dans le forum AJAX
    Réponses: 3
    Dernier message: 17/11/2009, 11h59
  3. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  4. [VB6]Prob avec les requêtes multiples
    Par cammipascal dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 30/03/2004, 18h46
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

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