Bonjour,

J'ai une base avec 4 Tables différentes : Table des projets (Projets), table des nomenclatures (Bom), table des quantités de prototypes (Project_proto), et une table temporaire (tmp_procurement) qui consolide tous les besoins en articles par semaine pour les prototypes.
Pour sortie des 3 premières tables, les besoins par article pour une semaine donnée j'ai écrit la requête suivante qui fonctionne à merveille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT tmp_procurement.no_piece, Sum(Project_proto.quantite) AS Besoin
FROM ((tmp_procurement LEFT JOIN Bom ON tmp_procurement.no_piece = Bom.no_piece) LEFT JOIN Projets ON Bom.no_bom = Projets.no_bom) LEFT JOIN Project_proto ON Projets.no_projet = Project_proto.no_projet
WHERE (((Project_proto.no_projet)<>"") AND ((Project_proto.semaine_proto)="808") AND ((Project_proto.date_out)="0000-00-00"))
GROUP BY tmp_procurement.no_piece;
Je voudrais maintenant mettre à jour la Table tmp_procurement qui ne contient que deux champs : no_piece et W808 mais je n'arrive pas à l'écrire.

J'ai essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
UPDATE tmp_procurement SET 808 = (SELECT Sum(Project_proto.quantite)
FROM ((tmp_procurement LEFT JOIN Bom ON tmp_procurement.no_piece = Bom.no_piece) LEFT JOIN Projets ON Bom.no_bom = Projets.no_bom) LEFT JOIN Project_proto ON Projets.no_projet = Project_proto.no_projet
WHERE (((Project_proto.no_projet)<>"") AND ((Project_proto.semaine_proto)="808") AND ((Project_proto.date_out)="0000-00-00"))
GROUP BY tmp_procurement.no_piece)
WHERE tmp_procurement.no_piece=Bom.no_piece;
mais il semble que Bom.no_piece ne soit pas qualifier ?

J'ai également essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
UPDATE ((tmp_procurement LEFT JOIN Bom ON tmp_procurement.no_piece = Bom.no_piece) LEFT JOIN Projets ON Bom.no_bom = Projets.no_bom) LEFT JOIN Project_proto ON Projets.no_projet = Project_proto.no_projet
SET 808 = Sum(Project_proto.quantite)
WHERE (((Project_proto.no_projet)<>"") AND ((Project_proto.semaine_proto)="808") AND ((Project_proto.date_out)="0000-00-00") AND  ((tmp_procurement.no_piece)=Bom.no_piece))
GROUP BY tmp_procurement.no_piece);
mais là c'est le GROUP BY qui ne passe pas.

Si un expert des requêtes de chocs peut m'aiguiller ?