Iは次のようになり、使用可能な最初の行を更新することができ、特定のカラムがNULLである場合、私は、最初に使用可能な行を更新するトラブルを抱えていると別の列が2複数の条件で使用可能な最初の行を更新
ID UserID Model
1 124 2
2 125 1
3 126 1
4 NULL 3
5 NULL 2
5 NULL 2
ありますIDは4でUserIDはありますが、 `AND Model = '2'のような追加条件を追加すると、クエリは0行を返します。
これは私が作ったクエリがあると使用しようとしています:
UPDATE Table SET UserID = '127'
WHERE UserID IS NULL AND Model = '2'
AND ID IN (SELECT top 1 ID FROM Table where UserID IS NULL) /*Update only 1 row
、私はそれがまだ使用可能な最初の行を更新AND Model = '2'
を削除した場合、私は非常に大きなテーブルで働いていると指定したいですモデルが2の場合でも更新するだけです。あなたは結果セットの最初のレコードを決定するために、ウィンドウ関数を使用して、ちょうど最初のエントリを更新することができ
レコードはあなたが更新しようとしていますか?モデルが「2」の最初のIDを更新しようとしていますか? – Siyual
@ Siyualモデル列に値2がある場合にのみUserID列を更新しようとしていますが、それらの条件を満たすものの代わりに1つの行だけが更新されることが重要です。 – Brayn
なぜ制限を使用しないのですか? UPDATEテーブルSET UserID = '127' どこUserIDがNULLであり、モデル= '2'制限1; – Mannu