SQL Server创建有序临时表
我尝试创建有序的临时表:SQL Server创建有序临时表,sql,sql-server,tsql,Sql,Sql Server,Tsql,我尝试创建有序的临时表: WITH Ordered AS ( SELECT ROW_NUMBER() OVER (ORDER BY [Quality] DESC) AS RowNumber, ImageID, Quality, Border, IsBest FROM [CatalogImages].[dbo].[Images] ORDER BY Quality) SELECT * INTO #Temp FROM Ordered ; SELECT * FROM #Temp ;
WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY [Quality] DESC) AS RowNumber, ImageID, Quality, Border, IsBest
FROM [CatalogImages].[dbo].[Images] ORDER BY Quality)
SELECT *
INTO #Temp
FROM Ordered ;
SELECT * FROM #Temp ;
但我得到了一个错误:
Msg 1033,15级,状态1,第82行
ORDER BY子句无效
在视图、内联函数、派生表、子查询和公共
表表达式,除非还指定了TOP或FOR XML
如何创建有序临时表?错误是因为您试图在公共表表达式中进行排序,这是不允许的 仅从您发布的内容来看,似乎不需要您的CTE。你可以这样做:
SELECT ROW_NUMBER() OVER (ORDER BY [Quality] DESC) AS RowNumber, ImageID, Quality, Border, IsBest
INTO #Temp
ORDER BY Quality;
SELECT *
FROM #Temp
ORDER BY Quality;
这也不意味着需要临时表…错误是因为您试图在公共表表达式中进行排序,这是不允许的 仅从您发布的内容来看,似乎不需要您的CTE。你可以这样做:
SELECT ROW_NUMBER() OVER (ORDER BY [Quality] DESC) AS RowNumber, ImageID, Quality, Border, IsBest
INTO #Temp
ORDER BY Quality;
SELECT *
FROM #Temp
ORDER BY Quality;
这也不意味着需要临时表…用谷歌搜索消息。这是一个众所周知的错误。哦,谢谢,我找到了一个解决方案作为旁注:你不能有一个有序的表-临时或不。在SQL中从表中选择时,除非明确指定ORDER BY,否则消息中没有保证的ORDER。这是一个众所周知的错误。哦,谢谢,我找到了一个解决方案作为旁注:你不能有一个有序的表-临时或不。当您在SQL中从表中选择时,除非您显式指定ORDER BY,否则没有保证的顺序