DB2 - 通过从其他表中选择行数来限制表中获取的行

Posted

技术标签:

【中文标题】DB2 - 通过从其他表中选择行数来限制表中获取的行【英文标题】:DB2 - Limit fetched rows in table by selecting row count from other table 【发布时间】:2020-05-25 17:54:55 【问题描述】:

我正在尝试获取 Table_A 中的行数,将其保存在一个变量中并在 Table_B 中获取相同的行数。

CREATE VARIABLE myvar INTEGER;
SET myvar = (SELECT count (*) FROM Table_A)

SELECT * from Table_B
fetch first mywar rows ONLY

DROP VARIABLE myvar;

如何在 DB2 中实现这一点?在这种情况下使用限制会更好吗?这可以不使用变量来实现吗?

【问题讨论】:

考虑使用动态 SQL。您还应该编辑您的问题以指定 Db2-server 平台和 version/fixpack ,以及提交 SQL 的工具。 【参考方案1】:

你可以这样做,例如

SELECT * FROM
( SELECT *, ROW_NUMBER() OVER() AS RN from Table_B)
WHERE RN <= (SELECT COUNT(*) FROM Table_A)

【讨论】:

以上是关于DB2 - 通过从其他表中选择行数来限制表中获取的行的主要内容,如果未能解决你的问题,请参考以下文章