你这个错误是因为你加入的排序ORDER BY ,你把排序改成如下SQL语句:
SELECT report_id,build_date_s,[file_name],title
FROM (
SELECT TOP 100 percent report_id,build_date_s,[filename],title,type
FROM app_report
WHERE type='0' AND user_id = '606'
ORDER BY report_id,type,user_id DESC)
这个错误是因为,你内部的查询语句中有WHERE 筛选条件,而ORDER BY 的排序条件要有你WHERE 后的列。
首先,在子查询中的排序是无效的也是没有意义的
其次,派生表的使用from () 集合需要加表别名 from () as a
这种引入子查询时,要把子查询的结果集as一下
select report_id,build_date_s,[file_name],title from
(select top 100 percent report_id,build_date_s,[file_name],title,type from app_report where type='0' and user_id='606' order by report_id desc) as a
如果你用的是oracle的话top n的用法是不能使用的,其他没什么错误