2011-03-23 4 views
1

J'ai deux paramètres d'entrée shopid et categoryidSQL Server: procédure stockée liée

Je veux créer une procédure stockée pour categoryproductlist pour afficher les produits liés à categoryid. J'ai une table product avec des colonnes productid , shopid , title et j'ai une table category avec des colonnes shopid,title,logical code, categoryid

Quelqu'un peut-il me dire comment écrire une procédure stockée pour categoryproductlist avec ces paramètres d'entrée?

+0

Je suis nouveau à des procédures stockées – user

+0

Quelle base de données utilisez-vous - SQL Server à partir du titre? Si vous pouvez écrire l'instruction select, vous pouvez facilement transformer cela en une procédure stockée ou une fonction - pouvez-vous écrire un select pour cela? – Rup

+0

Vous devez ajouter une colonne CategoryID à votre table Products, sauf si vous les reliez par ShopID. Sinon, on supposera que tous les produits seront dans toutes les catégories. – squillman

Répondre

2

un aller à ceci:

CREATE PROCEDURE p_CategoryProductList 
    @CategoryID INT 
    @ShopID  INT 

AS 

SELECT 
    c.itle as CategoryTitle, 
    c.[logical code], 
    p.title as ProductTitle 
FROM Product p 
INNER JOIN tblcategoryproduct cp on p.ProductID=cp.ProductID 
INNER JOIN Category c on c.CategoryID=cp.CategoryID 
WHERE [email protected] 
AND [email protected] 
+1

Je n'utiliserais jamais 'SELECT *' dans une procédure stockée - épeler les colonnes que vous êtes retour - moins de mauvaises surprises de cette façon !! –

+1

@marc_s Bien, merci. Je viens de jeter ça rapidement et j'ai oublié de mettre à jour. J'arrangerai. – squillman