gpt4 book ai didi

sql - 选择分页连接行以可靠地限制不同的相关行

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

考虑一个包含四个表的 SQL Server 2017 数据库; ABCD

D 引用具有外键约束的 CCBBA

目的是将每个表INNER JOIN 在一起,选择D 中满足特定条件的所有行,但仅限于定义的数字nA 中的行已连接到。

这应该是可分页的,以便后续查询可以(具有定义的偏移量)将其 D 行的结果集间接连接到下一组 nA 行。

请注意,并非所有(甚至大部分)表 A 的行与表 D 中的行没有一个更有效的关系是很常见的。因此,使用基本的 SELECT DISTINCT TOP n 不会提供具有可靠数量的不同表 A 关系的表 D 行的结果集。

最佳答案

为此使用窗口函数

SELECT
*
FROM
(
SELECT
*, dense_rank() over (order by A.ID) AS R
FROM
A
INNER JOIN B ON B.ID_A=A.ID
INNER JOIN C ON C.ID_B=B.ID
INNER JOIN D ON D.ID_C=C.ID
) AS RES
WHERE
RES.R<=PUT_LIMIT_OF_A_HERE
PUT_LIMITS_OF_ROWS_HERE

关于sql - 选择分页连接行以可靠地限制不同的相关行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50826428/

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