Requête cumul access

Bonjour,

j'ai créée une base de donnée pour calculé la rentabilité de chaque chantier.

je vous mets le MLD correspondant à la demande que je vous fait :

Salarié (CodeSalarié, NomSalarié, PrénomSalarié)
Affaire (NumAffaire, NomAffaire, VilleAffaire, DescrpitionAffaire)
NombreHeure (NumNbHeure, NbHeure)
Travailler (N°, CodeSalarié, NumAffaire, NumNbHeure, NumSemaine)

le champ N° de la table Travailler, est la clé primaire pour éviter les doublons.

j'ai fait comme requêtes :
SELECT Affaire.NumAffaire, Affaire.NomAffaire, Travailler.CodeSalarié, Travailler.NumSemaine, Travailler.NumNbHeure, NbHeures.NbHeure AS [Cumul des heures]
FROM Salarié INNER JOIN (NbHeures INNER JOIN (Affaire INNER JOIN Travailler ON Affaire.NumAffaire = Travailler.NumAffaire) ON NbHeures.NumNbHeure = Travailler.NumNbHeure) ON Salarié.CodeSalarié = Travailler.CodeSalarié;


ma requête ne me semble pas correct étant donné des résultats qu'elle m'affichent.
ce que j'aimerai qu'elle me donne comme résultat c'est par exemple pour l'affaire N°01 un cumul des heures passées sur ce chantier des salariés N°01, N°02 et N°03 pour la semaine N°15.

merci pour votre aide =)

2 réponses

  1. oui,
    pour la table travailler comme je l'ai dit j'ai du ajouté le champ N° pour éviter les doublons, car normalement NumAffaire, CodeSalarié et NumNbHeure doivent être les clés étrangères.
    sinon par exemple ca fait des doublons comme cet exemple : si le salarié n°1 travaille sur le chantier n°1 et le numNbHeure est le N°1 pour la semaine 15, pour la semaine 17 cela peut être la même chose donc cela fait des doublons
    1
    1. Es-ce que une affaire dure grand max une (1) semaine ?
      0
    2. non,
      les affaires dure entre 1 mois minimum et 1 an.
      en fait une affaire regroupe plusieurs devis qui correspond à un client, donc par exemple l'affaire n°1 peut durer 8 semaines et comporter 4 devis
      0
    3. Voilà ce que je te propose dabord :

      Salarié (CodeSalarié, NomSalarié, PrénomSalarié)
      Affaire (NumAffaire, NomAffaire, VilleAffaire, DescrpitionAffaire,NumSemDeb,NumSemFin,NbHeures)
      Travailler (CodeSalarié, NumAffaire, NbHeureTravailler)
      0
    4. NumSemFin doit être remplis ou peut rester NULL ?
      parce que je ne penses pas qu'ils sachent quand se fini un chantier (je suis en stage j'aurai ptète du préciser)
      je comprends pas l'existence du champ NbHeureTravailler si dans Affaire NbHeures figurent déjà !
      0
    5. Salarié (*CodeSalarié*, NomSalarié, PrénomSalarié)
      Affaire (*NumAffaire*, NomAffaire, VilleAffaire, DescrpitionAffaire)
      Travailler (#CodeSalarié,# NumAffaire, NbHeureTravailler,NumSemaine)

      ** Clé Primaire
      ## Clé étrangère
      0
  2. Bonjour,

    Es-tu sur de la justesse de ton MLD
    0