複数行の列を更新しようとしています。以下は、私が唯一のアクティブなプラン(= NULL)を持たないメンバーのアカウントに無料クレジットを追加したい、ということです私は何をしようとしている私のクエリ条件に基づいて複数の行の列値を更新する
UPDATE [Members]
SET [Credits]=[Credits][email protected]
WHERE [ID] IN (SELECT T1.[MemberID]
FROM @Members T1
RIGHT JOIN [Members] T2 ON T1.MemberID!=T2.ID
WHERE T2.ActivePlan IS NULL)
です。メンバの一覧は@Members
のテーブル値パラメータで、[Members]
はテーブルです。
クエリが期待どおりに機能していません。 [ActivePlan]
がNULL
に等しくない場合でも、すべてのメンバーにクレジットを追加しています。 1つの更新クエリを使用してこれを達成する方法を教えてください。
ありがとう@StackUser私はジョインを使用せずに解決策を見つけました。テストケースで失敗するかどうか見て、教えてください。 –
私の編集した回答を確認してください。 – StackUser