如何在
Select Count(*)
中使用
Fetch First
表A
PK |
---|
1 |
表B
PK |
---|
1 |
2 |
WITH ALL_DATA AS
(SELECT *
FROM TABLE_A
)
SELECT *
FROM TABLE B
FETCH FIRST (SELECT COUNT(*) FROM WITH ALL_DATA) ROWS ONLY
)
我期待第一行包含表 B 中的第 1 项。 我正在使用 DB2 LUW。
语法可能略有不同。
您可以先枚举
B
行,然后在 WHERE
子句中使用它们的编号。
WITH ALL_DATA AS
(SELECT *
FROM (VALUES 1, 2) A (I)
)
SELECT I
FROM
(
SELECT B.*, ROW_NUMBER () OVER () AS RN_
FROM (VALUES 1, 2, 3) B (I)
)
WHERE RN_ <= (SELECT COUNT(*) FROM ALL_DATA)
我 |
---|
1 |
2 |