当前位置:   article > 正文

sqlServer连表分页查询_sqlserver 进行联表分页查询

sqlserver 进行联表分页查询

 写法一

  1. SELECT *
  2. FROM (
  3. SELECT
  4. *,
  5. ROW_NUMBER() OVER (ORDER BY id) AS rowNumber
  6. FROM
  7. 表名 AS t1
  8. LEFT JOIN
  9. 表二 AS t2 ON t1.连接字段 = t2.连接字段
  10. LEFT JOIN
  11. 表三 AS t3 ON t1.另一个连接字段 = t3.另一个连接字段
  12. WHERE
  13. 条件 -- 这里替换为您的筛选条件
  14. ) AS subQuery
  15. WHERE
  16. rowNumber BETWEEN @pageFirst AND @pageEnd;

写法二

  1. DECLARE @PageIndex INT = 2; -- 当前页码
  2. DECLARE @PageSize INT = 10; -- 每页记录数
  3. SELECT
  4. u.UserId,
  5. u.UserName,
  6. o.OrderId,
  7. o.OrderDate,
  8. o.OrderAmount,
  9. d.DetailId, -- 假设 OrderDetails 表有一个 DetailId 列
  10. d.DetailDescription -- 假设 OrderDetails 表有一个 DetailDescription 列
  11. FROM
  12. Users u
  13. JOIN
  14. Orders o ON u.UserId = o.UserId
  15. JOIN
  16. OrderDetails d ON o.OrderId = d.OrderId -- 假设 OrderDetails 通过 OrderId 与 Orders 表连接
  17. WHERE
  18. u.UserName LIKE '%John%' -- 筛选条件:用户名包含 "John"
  19. ORDER BY
  20. u.UserId -- 根据 UserId 排序
  21. OFFSET (@PageIndex - 1) * @PageSize ROWS -- 跳过指定数量的记录以实现分页
  22. FETCH NEXT @PageSize ROWS ONLY; -- 获取指定数量的记录作为当前页的数据

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/703867
推荐阅读
相关标签
  

闽ICP备14008679号