Rog*_*oid 0 sql-server asp.net stored-procedures function
我有一个SQL函数,其中包含以下SQL:
SELECT StockID FROM (SELECT DISTINCT StockID,
ROW_NUMBER() OVER(ORDER BY DateAdded DESC) AS RowNum
FROM Stock
WHERE CategoryCode LIKE @CategoryID) AS Info
WHERE RowNum BETWEEN @startRowIndex AND (@startRowIndex + @maximumRows) - 1
Run Code Online (Sandbox Code Playgroud)
我有一个参数@CategoryID - 但我需要接受类别ID,如"BA",并将其转换为类别ID列表,如"IE","EG"等,所以我的WHERE子句看起来像:
WHERE (CategoryCode LIKE 'IE' OR CategoryCode LIKE 'EG') AS Info
Run Code Online (Sandbox Code Playgroud)
我有一个查找表,其中包含"BA"代码,然后是所有真正的类别代码,例如"IE"和"EG".如何在我的SQL函数中将CategoryID扩展为多个"OR"语句?我不确定如何做到这一点,任何人都可以解决这个问题吗?
目前所示的查询可以处理一个类别ID,例如"IE",这样做是因为我想要一个类别页面,例如category.aspx,其中传递参数"BA",例如category.aspx?category = BA and此页面将列出所有带有类别代码"EG"和"IE"的项目.
我需要这个的原因是有一个"父"类别代码,它有多个"子"类别代码,它们与父代码不同.如果这有帮助,我在前端使用ASP.NET和.NET 3.5.
尝试使用
WHERE CategoryCode IN (
SELECT LookupCategoryCode
FROM LookupTable
WHERE LookupCategoryId = @CategoryId
)
Run Code Online (Sandbox Code Playgroud)
为查找表中的相应值替换"LookupCategoryCode","LookupTable"和"LookupCategoryId".