如何将数字添加到列记录并将结果放入SQL中的另一列?

时间:2014-03-05 14:18:05

标签: sql sql-server-2008 sql-order-by case

我有4列的视图。我希望能够在排名(列)记录中添加一个数字,并将新排名放在新列中,按升序排序。

USE database;
GO

SELECT [ID]
      ,[rank]
      ,[CONTRACTOR]
      ,[Trades]
       CASE 
         WHEN rank < 5 THEN rank + 1
         ELSE 1
      END

FROM [database].[schema].[table]
ORDER BY rank ;

GO

我收到错误:

  

Msg 156,Level 15,State 1,Line

     

关键字'CASE'附近的语法不正确。

2 个答案:

答案 0 :(得分:0)

尝试在CASE

之前添加逗号
SELECT [ID]
      ,[rank]
      ,[CONTRACTOR]
      ,[Trades]
      ,CASE 
         WHEN rank < 5 THEN rank + 1
         ELSE 1
      END

FROM [database].[schema].[table]
ORDER BY rank ;

答案 1 :(得分:0)

至少你错过了CASE之前的逗号。