小编Tre*_*NGC的帖子

如何根据传递到存储过程的参数更改 ORDER BY 子句

我将 3 个参数传递到我的存储过程中:@Time, @DeptID, @Value

  1. @Time代表:1=过去24小时,2=过去一周,3=过去一个月,4=过去一年
  2. @DeptID是各个部门的ID
  3. @Value1=按低位排序,2=按高位排序

这是我当前的代码:

DECLARE @SQL VARCHAR(MAX)
SET @SQL = ('SELECT S.ID, S.[Description], D.Department, S.Value, S.[Date] FROM Suggestions S INNER JOIN Department D ON D.ID = S.DeptID WHERE Approved =1')

IF (@DeptID = 0 AND @Value = 0 AND @Time = 0)
    BEGIN
        SET @SQL = (@SQL +' ORDER BY [Date] DESC')
    END

IF (@Time > 0)
   BEGIN
    SET @SQL = (CASE WHEN @Time = 1 THEN (@SQL + ' …
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures dynamic-sql sql-order-by

1
推荐指数
1
解决办法
1344
查看次数