我需要關於必須與DB2和Oracle一起運行的SQL語句的建議。如何將具有特定值的列添加到現有數據庫表中
前段時間已經建立了一個沒有ID列的數據庫表。添加ID列不是問題,但我絕對需要填寫每行的行號。 我發現,rank()將是完美的,但在這裏我無法選擇特定的值,因爲我總是得到值'1'。
當我建立一箇中間表,如下所述,我輸出的所有數據,即我需要
WITH MY_TEMP_TABLE AS
(
SELECT RANK() OVER (ORDER BY CODE ASC) MY_ROW, CODE, LAND
FROM SECOND_TABLE
)
SELECT *
FROM SECOND_TABLE
INNER JOIN MY_TEMP_TABLE ON SECOND_TABLE.CODE=MY_TEMP_TABLE.CODE
它是如何能夠在數據庫中更新表(此處:SECOND_TABLE)的ID列與MY_ROW中的值?
非常感謝......
你是什麼意思,你總能獲得價值1?你從哪裏得到價值1?在my_row? –
我想你想[ROWNUMBER()](https://msdn.microsoft.com/en-us/library/ms186734.aspx)而不是RANK()。 – nscheaffer
SELECT ROWNUMBER()OVER(ORDER BY CODE ASC)MY_ROW,CODE,LAND FROM BDV_KFWSTAAT
並返回多於200個結果,其中每一個具有不同數量的
SELECT ROWNUMBER()OVER(ORDER BY CODE ASC)MY_ROW, CODE,LAND from BDV_KFWSTAAT where code ='DE'
返回值'1',而不是關於我在哪裏使用。通過這種方式,我無法區分結果。 問題與rank()和rownumber()相同 – Oliver