可以选择在结果表中添加新字段吗?

Ele*_*hoy 2 t-sql sql-server select

我在SQL Server 2005中有一个SQL语句,如下所示:

SELECT * INTO #TempTable FROM FirstTable WHERE <complex where clause>
Run Code Online (Sandbox Code Playgroud)

我真的非常希望得到的临时表有一个额外的字段,它实际上是一个整数字段,按照where子句返回记录的顺序从1开始计数.

这可能吗?

(基本上,我希望能够返回从第一个选择语句返回的记录的子集,沿着"第45到179行".)

Mic*_*ren 5

试试这个,使用Row_Number:

-- insert into temp table
SELECT *, 
  ROW_NUMBER() OVER (ORDER BY SortColumn) AS SortColumn INTO #TempTable 
FROM FirstTable 
WHERE <complex where clause>

-- check the results and drop the table
SELECT * FROM #TempTable WHERE SortColumn BETWEEN 45 AND 179 ORDER BY SortColumn
DROP TABLE  #TempTable
Run Code Online (Sandbox Code Playgroud)

显然你需要更换SortColumn你的情况下有意义的东西


编辑:

如果您只是尝试进行分页,那么有很多例子: