選択した行を更新する必要があります。選択した行は、日付を格納する列で並べ替える必要があります。 このような順序が必要な理由は、日付の順序に基づいて昇順の値で行を更新したいからです。注文された選択行を更新する
私は可能な限り1つのステートメントでそれを取得したいと私は私のJavaコードでそれを必要とするので、私はカーソルを使用しないようにしたいと思います。事前に
おかげで
選択した行を更新する必要があります。選択した行は、日付を格納する列で並べ替える必要があります。 このような順序が必要な理由は、日付の順序に基づいて昇順の値で行を更新したいからです。注文された選択行を更新する
私は可能な限り1つのステートメントでそれを取得したいと私は私のJavaコードでそれを必要とするので、私はカーソルを使用しないようにしたいと思います。事前に
おかげで
はROW_NUMBERとPARTITIONを持っているので、どのようにこのようなものについて:私はあなたの例では、スキーマを十分に与えていないようですので、この仕事をするためにいくつかの列を作る必要があった
UPDATE MyTable
SET MyTable.Value = RowNum
FROM MyTable
JOIN
(
SELECT ID,
ROW_NUMBER() OVER (PARTITION BY UserName ORDER BY MyDate) AS RowNum
FROM MyTable AS InnerTable
) AS Hierarchy
ON MyTable.ID = Hierarchy.ID
。しかし、一般的には、このようなものがうまくいくはずです
SET teeest.order = RowNumb - "SQLコマンドが正しく終了しませんでした"というエラーが表示されます。私はRowNumとRowNumbエイリアスを試しました – xwhyz
ハハ、oops。私は私の答えを編集しました。私はテーブルからサブクエリを省いた。あなたはそのエラーを複製しましたか?コマンドラインで –
エラー:2カラム:29 エラーレポート: SQLエラー:ORA-00933:polecenieのSQLのniepoprawniezakończone 00933. 00000 - "SQLコマンドが正常に終了しない" 最初のROWNUM変数の周りにある – xwhyz
あなたはどのRDBMSとバージョンを使用していますか? –
私はOracle 11gを使用しています – xwhyz