第一行,我有以下查詢:參數取查詢
WITH lftno(counterrow) AS (
VALUES(select rownos
from test.table1
where year='2020' and usage='1')
)
UPDATE test.deltable
SET year=concat('31.12.','2012')
WHERE ID IN (
select res.id
from (
select res.id
from (
SELECT ROW_NUMBER() OVER (ORDER BY year ASC) AS delyear
, ID, year
from test.deltable
) res
where year(res.year)='2012'
fetch first integer(counterrow) rows only
)
的與選擇的結果是10,所以我想取第一行使用10作爲值的行趕上。
最終查詢時間更長,但要顯示問題,這很容易讀取。
我試圖
'fetch first ' || integer(counterrow) || ' rows only'
或where子句
AND row_number() over() <= counterrow
的一部分,但也不能工作。
問題是,我不能訴諸於他們的一部分。我只需要對抗者給出的線路。
任何想法?
感謝您的幫助。
作爲一個側面說明VALUES子句是聯合國有必要,可以更換'值(從test.table1 選擇rownos 其中year =「2020」稱和用法= '1')''''select'rownos from test.table1 where year ='2020'and usage ='1'' – Lennart