#offset
#смещение
Вопрос:
Мне нужно включить разбивку на страницы на основе результатов, полученных, скажем, из двух таблиц (T1 и T2). Следовательно, мне нужно объединить ОБЪЕДИНЕНИЕ и СМЕЩЕНИЕ ВМЕСТЕ. Допустим, у меня есть Field1 и Field2 в таблице T1, Field3 и Field 4 в таблице T2. Мне нужно получить определенные n строк, смещенных на определенные p строк. Как я могу это сделать.
Пожалуйста, обратите внимание, что база данных — это SQL Server
Ответ №1:
Пример схемы и значений:
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;
Попробуйте сами
Комментарии:
1. Спасибо. Это решило мою проблему. Еще раз огромное спасибо