我现在正在努力学习一下SQL查询。我想知道有人可以帮忙吗?使用WHEN或IF语句的SQL语句
我想传递一个字符串存储过程中的一个,并根据我想在WHERE子句
稍微修改查询帕拉姆字符串可以为任意字母或类别ID
ALTER procedure [dbo].[procProductShow]
@Alphabet varchar(3) = 'ALL'
AS
IF @Alphabet = 'ALL' or @Alphabet = 'A' OR @Alphabet = 'B' OR @Alphabet = 'C' --- UNTIL Z
SELECT
Product.ProdID,
Product.ProdImgThumbnailLoc,
Product.ProdImgThumbnailAltText
FROM
ProductCategory
INNER JOIN Product ON ProductCategory.ProdID = Product.ProdID
INNER JOIN Category ON ProductCategory.CatID = Category.CatID
WHERE
Product.ProdShowOnWeb = 1 AND
Category.ShowOnReport = 1 AND
(@Alphabet = 'ALL' OR Product.ProdHeading LIKE @Alphabet + '%')
ORDER BY Product.ProdHeading
ELSE
SELECT
Product.ProdID,
Product.ProdImgThumbnailLoc,
Product.ProdImgThumbnailAltText
FROM
ProductCategory
INNER JOIN Product ON ProductCategory.ProdID = Product.ProdID
INNER JOIN Category ON ProductCategory.CatID = Category.CatID
WHERE
Product.ProdShowOnWeb = 1 AND
Category.ShowOnReport = 1 AND
Category.CatId = @Alphabet
ORDER BY Product.ProdHeading
你的具体错误/问题是什么? –
mysql或sql server? –
这是Microsoft SQL Server。尽量不要使用与MySQL无关的数据库来标记它。 – tadman