gpt4 book ai didi

sql-server - 如何在 ROW_NUMBER() 函数和 Union 中获取 Filter 记录?

转载 作者:行者123 更新时间:2023-12-03 12:48:18 25 4
gpt4 key购买 nike

我有一个从表中获取结果的联合查询。当只有第一个查询执行时这个工作正常但如果在第二个(联合部分)也返回结果那个时候它将不起作用。我的查询像

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

请帮帮我。我想使用行号添加分页。还有其他解决方案吗?

最佳答案

在执行 row_number()ing 之前,您需要围绕 union 进行另一个子查询:

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

关于sql-server - 如何在 ROW_NUMBER() 函数和 Union 中获取 Filter 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com