我有两个表,比如X和X_STAGING。
它们在列中完全相同,即模式相同。但是,行数不同。我知道X的第一行是在X_STAGING中 - 数据是从X_STAGING部分复制到X.但是我需要确切地知道X_STAGING的哪一行包含数据,这些行进入X的第一行。
目前我正在使用此
SELECT
SUM(MATCH)
FROM
(
SELECT
CASE WHEN X_STAGING.KEY_ID='KEY_FROM_THE_FIRST_ROW_OF_X' THEN 1 ELSE 0 END AS MATCH
FROM
X_STAGING
WHERE ROWNUM<2550000
)
更改ROWNUM我可以找到计数到达的ROWNUM。然后调整ROWNUM我最终可以到达特定的行。
这样可行,但我相信必须有更快捷,更聪明的方法。 请帮忙。
注意:我正在Linux,DB2环境中工作。
答案 0 :(得分:0)
我不明白你想要完成什么,但以下是你所要求的:
SELECT
MAX(MATCH)
FROM
(
SELECT
CASE WHEN X_STAGING.KEY_ID='KEY_FROM_THE_FIRST_ROW_OF_X' THEN ROWNUM ELSE 0 END AS MATCH
FROM
X_STAGING
)