Besoin d'aide pour un requête

Yoshifumi Messages postés 7 Date d'inscription mardi 4 mai 2010 Statut Membre Dernière intervention 29 septembre 2010 - 29 sept. 2010 à 11:37
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 30 sept. 2010 à 18:28
Bonjour,

Je vous expose mon problème, j'ai 3 tables comme décrites ci-dessous de manière simplifiée:

Commandes(idCommande, idDeLaPièce, quantitéCommandée) qui représente la liste de mes commandes.
Pièces(idPièce, nomDeLaPièce, matièreDeLaPièce) qui représente le catalogue de pièces fabriquées.
Lots(idLot, quantitéDePièces, idDeLaPièce, livré) qui représente les pièces en stock.

J'aimerais obtenir, en gros comme résultat, tous les lots en stock d'après ce qui est commandé.

Exemple pratique :
j'ai une commande de 15 clous et une autre commande de 20 vis. J'ai en stock 3 lots de 5 clous et un lot de 20 vis ainsi qu'un lot de 12 boulons.
Le résultat de la requête devrait donner quelque chose comme ça :

NomDeLaPièce | idLot | quantitéDePièces | livré
vis | 1 | 5 | non
vis | 2 | 5 | non
vis | 3 | 5 | non
clous | 1 | 20 | non

J'aimerais faire ça en une seule requête, mais peut-être que ce n'est pas possible.
J'ai effectué cette requête, mais ça ne correspond bien sûr pas exactement à ce que j'aimerais car il manque le nom de la pièce.
"SELECT idLot, quantitéDePièces, livré FROM Lots WHERE idDeLaPièce IN(SELECT idDeLaPièce FROM Commandes)"

Merci de votre aide !

1 réponse

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 sept. 2010 à 18:28
Ce que tu demandes s'appelle une jointure de table :

SELECT Lots.idLot, Lots.quantitéDePièces, Lots.livré, Piece.nomDeLaPiece 
FROM Lots, Commandes, Piece
WHERE Lots.idDeLaPièce = Commandes.idDeLaPièce
AND Piece.idDeLaPiece = Commandes.idDeLaPiece
0
Rejoignez-nous