DB2とOracleで実行するSQL文に関するアドバイスが必要でした。特定の値を持つ列を既存のデータベーステーブルに追加する方法
IDテーブルのないデータベーステーブルが設定されています。 ID列を追加することは問題ではありませんが、絶対に各行の行番号を入力する必要があります。 rank()が完璧であることがわかりましたが、ここでは常に値 '1'を取得するため、特定の値を選択できません。私はそれがデータベーステーブルのIDカラム(ここで:SECOND_TABLE)を更新することが可能である方法
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
を必要とすること
以下に説明するように、私は中間テーブルを設定、I出力のすべてのデータとMY_ROWの値は?
おかげでたくさん...
あなたは常に値1を得ることを何をすることによって意味ですか?あなたはどこで値1を得ますか? my_rowで? –
RANK()ではなく[ROWNUMBER()](https://msdn.microsoft.com/en-us/library/ms186734.aspx)が必要です。 – nscheaffer
SELECT ROWNUMBER()OVER(CODE ASC BY ORDER)MY_ROW、CODE、BDV_KFWSTAAT
FROM LANDは、それぞれが異なる数
SELECT ROWNUMBERを有する(そのうち200の以上の結果を返すない)MY_ROW(CODE ASC BY ORDER)OVER、 CODE、LAND FROM BDV_KFWSTAAT code = 'DE'
は、私が使用する場所に関係なく値 '1'を返します。このように私は結果の間で異なることはできません。 問題はrank()とrownumber()と同じです – Oliver