Sous-requête dans l'instruction SELECT (MySQL)
Je suis de la création d'une instruction SQL qui retourne une liste de produits et la quantité de chacun d'eux, j'pouvez trouver dans tous les magasins.
La structure de ma table (avec des exemples de données) est comme suit:
productID - taille - couleur - stock - storeID 1 - S - RED01 - 1 - BCN 1 - S - RED01 - 3 - MAD 2 - S - YEL02 - 0 - BCN 2 - S - YEL02 - 2 - MAD 1 - S - RED01 - 1 - BCN2
J'ai besoin d'un résultat semblable à celui-ci:
productID - taille - stockBCN (BCN + BCN2) - stockMAD 1 - S - 2 - 3 2 - S - 0 - 2
Je suis l'aide de cette instruction, et fonctionne très bien juste pour un produit unique
SELECT DISTINCT prodID, size,
(SELECT SUM(stock) FROM stocks WHERE storeID IN ('BCN','BCN2') AND prodID = 1 AND size = 'S' AND color = 'RED01' GROUP BY prodID, size, color) AS stockBCN,
(SELECT SUM(stock) FROM stocks WHERE storeID = 'MAD' AND prodID = 1 AND size = 'S' AND color = 'RED01' GROUP BY prodID, size, color) AS stockMAD,
FROM stocks WHERE storeID IN ('BCN','BCN2','MAD')
AND prodID = (1) AND size = 'S' AND color = 'RED01'
Comment puis-je le modifier pour le faire fonctionner pour toutes les lignes de la table?
Vous devez vous connecter pour publier un commentaire.
Vous voulez sans doute de tirer parti de la
GROUP BY
clause au lieu d'aller avecDISTINCT
là, c'est à dire:OMI premier temps d'utiliser une instruction de cas