Yoshifumi
Messages postés7Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention29 septembre 2010
-
29 sept. 2010 à 11:37
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 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)"