C# MSSQL从行之间指定的2个联接表中选择条目

C# MSSQL从行之间指定的2个联接表中选择条目,c#,sql,sql-server,C#,Sql,Sql Server,我的服务器上有两个表。 一种是存储文件信息(根、名称、用户ID、大小…) 另一个是存储每个用户ID的电子邮件地址 我想选择2个指定行之间的所有条目(例如,按表1中的文件大小排序) 我的代码: select TOP 16 * from ( select Row_Number() over (order by [Table1].[File Size]) as RowIndex, * from (SELECT Table1.*,Table2.[E-Mail] FROM Table1 LEFT JOI

我的服务器上有两个表。 一种是存储文件信息(根、名称、用户ID、大小…) 另一个是存储每个用户ID的电子邮件地址

我想选择2个指定行之间的所有条目(例如,按表1中的文件大小排序)

我的代码:

select TOP 16 * from 
(
select Row_Number() over (order by [Table1].[File Size]) as RowIndex,
* from (SELECT Table1.*,Table2.[E-Mail]
FROM Table1 LEFT JOIN Table2 ON Table1.UserID = Table2.UserID 
ORDER BY Table1.[File Size])as joined
) 
as Sub
Where Sub.RowIndex >= 20
例如,根据
文件大小从联接顺序中选择第20行之后的前16个条目

错误:

ORDER BY子句在视图、内联函数、派生表、子查询和公共表表达式中无效,除非还指定了TOP、OFFSET或FOR XML

我能做什么?
此查询用于显示c#..的虚拟化datagridview超过100k个条目的前16个条目

从内部查询中删除
按表1排序。[文件大小]

select TOP 16 * from 
(
select Row_Number() over (order by [Table1].[File Size]) as RowIndex,
* from (SELECT Table1.*,Table2.[E-Mail]
FROM Table1 LEFT JOIN Table2 ON Table1.UserID = Table2.UserID 
)as joined
) 
as Sub
Where Sub.RowIndex >= 20
ORDER BY Table1.[File Size]

从内部查询中删除按表1排序的
。[文件大小]

select TOP 16 * from 
(
select Row_Number() over (order by [Table1].[File Size]) as RowIndex,
* from (SELECT Table1.*,Table2.[E-Mail]
FROM Table1 LEFT JOIN Table2 ON Table1.UserID = Table2.UserID 
)as joined
) 
as Sub
Where Sub.RowIndex >= 20
ORDER BY Table1.[File Size]

这是VB吗?如果是这样的话,为什么
c#
?示例数据和预期输出会更有帮助。这是在VB中吗?如果是这样,为什么
c#
?示例数据和预期输出将更有帮助。谢谢!但我也不得不从第一批订单中删除[表1]。谢谢!但我也不得不从第一份订单中删除[表1]。