2017-01-25 11 views
1

メッセージIDが一意になる条件で行を更新する必要があります。 同じ質問をどのように書きますか? メッセージIDが一意である場合、行のみが更新され、テーブルのflagという名前の列は「1」として更新されなければならないと言っています。 テーブルは一時テーブルなので、値は同じテーブルに格納されません。 また、更新ステートメントはストアドプロシージャの最後で実行されます。 基本的には、一度更新されたレコードは、次回の実行時には画像にならないはずです。例については一意の条件を持つ行を更新する

Update table [Tablename ] set FLAG='1' where messageID =' message id has to be unique'. 

答えて

1

は、あなたのテーブル内の各messageIDの数を返します。この

;WITH cte 
    AS (SELECT Count(1)OVER(partition BY messageID) AS cnt,* 
     FROM [Tablename]) 
UPDATE cte 
SET FLAG = '1' 
WHERE cnt = 1 

Count(1)OVER(partition BY messageID)のようなものを試してみてください。カウントが1の場合flagを更新する

関連する問題