我有一个联合查询从表中获取结果。当只有第一个查询执行该时间时,此工作正常,但如果第二个(联合部分)也返回结果,则该时间将不起作用。我的查询像
Select * from (
Select ROW_NUMBER() OVER(ORDER BY EmpID DESC) as RowNo,
Emp.EMPID, EMP.FirstName
From Emp
Union
Select ROW_NUMBER() OVER(ORDER BY EMPID DESC) as RowNo,
Emp.EMPID, EMP.FirstName
From Emp Inner Join EMPDetail On Emp.EmpID = EMPDetail.EMPID
Where EMPDetail.IsActive=True
) as _EmpTable where RowNo between 1 and 20
请帮我。我想使用行号添加分页。还有其他解决方案吗?
union
在执行之前,您将需要在周围的另一个子查询row_number()ing
:
Select *
from
(
Select ROW_NUMBER() OVER(ORDER BY EmpID DESC) as RowNo,
EmpID,
FirstName
FROM
(
SELECT
Emp.EMPID,
Emp.FirstName
From Emp
Union
Select
Emp.EMPID,
EMP.FirstName
From
Emp Inner Join EMPDetail On Emp.EmpID = EMPDetail.EMPID
Where
EMPDetail.IsActive=True
)
) as _EmpTable
where
RowNo between 1 and 20
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句