Select 如何在临时表中选择最新的40条记录?

Select 如何在临时表中选择最新的40条记录?,select,subquery,sybase,sap-ase,correlated-subquery,Select,Subquery,Sybase,Sap Ase,Correlated Subquery,我想将最新的40条记录放入临时表中,如下所示: SELECT * INTO #MY_TEMP FROM ( SELECT TOP 40 * FROM SOME_TABLE ORDER BY RECORD_DATE DESC ) SELECT TOP 40 * INTO #MY_TEMP FROM SOME_TABLE ORDER BY RECORD_DATE DESC 但是,我得到一个错误: 派生表中不允许使用ORDER BY子句 我在其他帖子中看到了一些解决

我想将最新的40条记录放入临时表中,如下所示:

SELECT * INTO #MY_TEMP
FROM
  (
    SELECT TOP 40 *
    FROM SOME_TABLE
    ORDER BY RECORD_DATE DESC
  )
SELECT TOP 40 * INTO #MY_TEMP
FROM SOME_TABLE
ORDER BY RECORD_DATE DESC
但是,我得到一个错误: 派生表中不允许使用ORDER BY子句

我在其他帖子中看到了一些解决方案,涉及到TOP PERCENT,但我的select已经使用了TOP,它不起作用


如何将这些记录放入我的临时表中?

在子选择语句中不能使用
ORDER BY
。而是删除子选择。您的SQL应该如下所示:

SELECT * INTO #MY_TEMP
FROM
  (
    SELECT TOP 40 *
    FROM SOME_TABLE
    ORDER BY RECORD_DATE DESC
  )
SELECT TOP 40 * INTO #MY_TEMP
FROM SOME_TABLE
ORDER BY RECORD_DATE DESC