Sql 如何使用集合和获取连接的表

Sql 如何使用集合和获取连接的表,sql,postgresql,Sql,Postgresql,我有一个非常简单的案例,有两个表: create table Table1 ( Id int, Name varchar(255), ) 及 我想通过Table1和Table2的连接获得一些行数(例如偏移量10和fetch 5)。在表1和表2之间,我有一对多的关系 我试着写这样的东西: SELECT * FROM Table1 JOIN Table2 AS t2 ON Table1.Id = t2.ParentId ORDER BY Table1.Id OFFS

我有一个非常简单的案例,有两个表:

create table Table1
(
    Id int,
    Name varchar(255),
)

我想通过Table1和Table2的连接获得一些行数(例如偏移量10和fetch 5)。在表1和表2之间,我有一对多的关系

我试着写这样的东西:

SELECT * 
FROM Table1 
JOIN Table2 AS t2 ON Table1.Id = t2.ParentId 
ORDER BY Table1.Id 
    OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY
结果,我从连接的表中得到了5行。但是我想从表1中得到5行,然后加入到表2中。有人知道怎么做吗

SELECT *
FROM (SELECT * 
      FROM Table1
      ORDER BY Id
      OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY) AS t1
JOIN Table2 AS t2 ON t1.Id = t2.ParentId

谢谢大家!!这很简单)

只对您正在使用的数据库进行标记。MySQL还是Postgres?您还需要一个子查询或CTE来生成分页结果并将其连接到表2
SELECT *
FROM (SELECT * 
      FROM Table1
      ORDER BY Id
      OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY) AS t1
JOIN Table2 AS t2 ON t1.Id = t2.ParentId