drop PROCEDURE SelectionProduit GO CREATE PROCEDURE dbo.SelectionProduit @CodArticle AS INT, @NumMachine AS INT AS BEGIN SELECT TOP 100 PERCENT dbo.EmplacementsMachine1.Reference, dbo.ArticleEnStock.Designation, dbo.Familles.NomFamille, dbo.ArticleEnStock.CodeArticle, dbo.EmplacementsMachine1.NoEmpl, dbo.ArticleEnStock.PrixAchatUnit, dbo.Fournisseur.CodeFournisseur, dbo.Fournisseur.Societe, dbo.Tailles.Ordre, dbo.ArticleEnStock.Famille, dbo.Tailles.NoTaille, dbo.Tailles.Taille, dbo.EmplacementsMachine1.Etage, dbo.EmplacementsMachine1.Colonne, dbo.EmplacementsMachine1.NoMachine , dbo.ArticleEnStock.RefFournisseur , dbo.EmplacementsMachine1.DateChargement FROM dbo.ArticleEnStock INNER JOIN dbo.EmplacementsMachine1 ON dbo.ArticleEnStock.Reference = dbo.EmplacementsMachine1.Reference LEFT OUTER JOIN dbo.Tailles ON dbo.ArticleEnStock.Taille = dbo.Tailles.NoTaille LEFT OUTER JOIN dbo.Fournisseur ON dbo.ArticleEnStock.NoFournisseur = dbo.Fournisseur.[No] LEFT OUTER JOIN dbo.Familles ON dbo.ArticleEnStock.Famille = dbo.Familles.NoFamille GROUP BY dbo.EmplacementsMachine1.Reference, dbo.ArticleEnStock.Designation, dbo.Familles.NomFamille, dbo.ArticleEnStock.CodeArticle, dbo.EmplacementsMachine1.NoEmpl, dbo.ArticleEnStock.PrixAchatUnit, dbo.Fournisseur.CodeFournisseur, dbo.Fournisseur.Societe, dbo.Tailles.Ordre, dbo.ArticleEnStock.Famille, dbo.Tailles.NoTaille, dbo.Tailles.Taille, dbo.EmplacementsMachine1.Etage, dbo.EmplacementsMachine1.Colonne, dbo.EmplacementsMachine1.NoMachine , dbo.ArticleEnStock.RefFournisseur , dbo.EmplacementsMachine1.DateChargement HAVING (dbo.ArticleEnStock.CodeArticle = @CodArticle) AND (dbo.EmplacementsMachine1.NoMachine = @NumMachine) ORDER BY dbo.EmplacementsMachine1.DateChargement , dbo.EmplacementsMachine1.Colonne END GO