繁体   English   中英

“无效的列名” ORDER BY

[英]"Invalid column name" ORDER BY

当我运行查询时,我收到以下消息:

Invalid column name 'column1'

询问:

SELECT TOP 1 * From (
(select Top 2 convert(datetime,column1,101) AS TEST from table1 ORDER BY column1 DESC) X                   
ORDER BY column1)

也许最简单的方法是将转换移出子查询:

SELECT TOP 1 convert(datetime, column1, 101) as test
From (select Top 2 t.*
      from table1 
      order by column1 desc
     ) X                   
ORDER BY column1;

或者,如果您的数据库支持它,请使用 ANSI 标准FETCH / OFFSET

select convert(datetime, column1, 101) as test
from table1
order by column1 desc
offset 1 row
fetch first 1 row only;
SELECT TOP 1 TEST 
From (
       SELECT Top 2 
            convert(datetime,column1,101) AS TEST,
            column1         // <- include column1
       FROM  table1 
       ORDER BY column1 DESC
     ) X                   
ORDER BY column1 ASC

将 'convert(datetime,column1,101) AS TEST' 更改为 'convert(datetime,column1,101) AS column1'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM