Stored procedures 帮助编写存储过程/SQL查询错误
我有一个表Stored procedures 帮助编写存储过程/SQL查询错误,stored-procedures,Stored Procedures,我有一个表tblcategory,其中包含列categoryid、shopid、title、logicalcode 我有第二个表tblproduct,其中包含列productid、shopid、producttitle、price、logicalcode,可用 我有第三个表categoryproduct,其中列categoryproductid、categoryid、productid 我有一个网格视图,用于显示给定类别中的产品,其中包含列producttitle和logicalcode 我编写
tblcategory
,其中包含列categoryid、shopid、title、logicalcode
我有第二个表tblproduct
,其中包含列productid、shopid、producttitle、price、logicalcode,可用
我有第三个表categoryproduct
,其中列categoryproductid、categoryid、productid
我有一个网格视图,用于显示给定类别中的产品,其中包含列producttitle
和logicalcode
我编写了一个存储过程,输入参数为categoryid
(必需),以获取该类别中的产品列表:
@categoryid int
AS
BEGIN
SELECT P.Title, P.LogicalCode
FROM tblProduct AS P
JOIN tblCategory AS C
WHERE P.LogicalCode=C.LogicalCode AND
WHERE C.CategoryID=@categoryid
END
但是我得到了接近“WHERE”条件的错误
谁能帮我一下吗?你有两个
WHERE
条款。应该是:
其中p.LogicalCode=C.LogicalCode和
C.CategoryID=@CategoryID
编辑
好的,试试看
SELECT P.Title,P.LogicalCode
FROM tblProduct P
JOIN tblCategory C
ON P.LogicalCode=C.LogicalCode
WHERE C.CategoryID=@categoryid
应该是:
SELECT P.Title,P.LogicalCode
FROM tblProduct AS P JOIN tblCategory AS C
WHERE P.LogicalCode=C.LogicalCode
AND C.CategoryID=@categoryid
CategoryID是INT吗?很明显,你有两个WHERE's,这是错误的,但你在下面提到,你取了一个WHERE's,它仍然是错误的。我得到了相同的错误,比如Msg 156,级别15,状态1,过程uspCategoryFetch,第10行关键字“WHERE”附近的语法不正确。你还需要指定你将P和C连接在一起的是什么。例如从tblProduct P在P.CategoryKey=C.ID上加入tblCategory C…..不用担心-这是两个
WHERE
s和坏JOIN的组合