SQL多条件查询Sql语句

时间:2022-11-07 05:39:34
DECLARE @startIndex INT,  --用来判断的变量
@ordertype NVARCHAR(500), --条件语句
@SqlBase NVARCHAR(500) --最终的sql语句
SELECT @startIndex=3
SELECT @ordertype=CASE --根据条件组合sql语句
WHEN @startIndex=1 THEN
'ORDER BY CM.GeneralID DESC '
WHEN @startIndex=2 THEN
'ORDER BY CM.GeneralID ASC '
WHEN @startIndex=3 THEN
'ORDER BY CM.DefaultPicUrl DESC '
END

--拼凑最终的sql语句
SELECT @SqlBase='SELECT TOP 1 GeneralID FROM PE_CommonModel CM WHERE ISNULL(CM.DefaultPicUrl , '''')!='''' '+'and CM.NodeID IN('''+CAST(34 AS NVARCHAR(10))+''')'+@ordertype
SELECT @SqlBase --查看sql语句
EXEC (@SqlBase) --执行sql语句