问题描述
我需要基于从两个表(T1和T2)获取的结果来合并分页。因此,我需要结合UNION和OFFSET TOGETHER。假设我在表T1中具有Field1和Field2,在表T2中具有Field3和Field 4。我需要获取某些n行偏移某些p行。我该怎么办。
解决方法
示例架构和值:
CREATE TABLE T1
([field1] varchar(10),[field2] varchar(10));
INSERT INTO T1
([field1],[field2])
VALUES
('Value11','Value12'),('Value21','Value22'),('Value31','Value32');
CREATE TABLE T2
([field3] varchar(10),[field4] varchar(10));
INSERT INTO T2
([field3],[field4])
VALUES
('Value41','Value42'),('Value51','Value52'),('Value61','Value62');
示例查询您的需求
select * from (select field1 as f1,field2 as f2 from T1
union all
select field3 as f1,field4 as f2 from T2) as TAB1
order by f1 offset 0 rows fetch next 2 rows only;
尝试一下