2016-04-05 10 views
0

WHERE句にANDを使用して行を選択するDELETEが必要です。 WHEREの値の1つは、実際にはIDの束です。私はプログラミングで、ユーザーIDのリストを取得し、リストを使用してループすることで達成できます。 SQLServer他のテーブルからのリストを持つテーブルからの削除

This query returns a list of GroupUserIds 
SELECT Id FROM GroupUser WHERE GroupUserId = @GroupUserId 

I単一のSQL文の中にこれらを結合する方法があるはず
Foreach @GroupUserId in GroupUserIds 
DELETE FROM VariableTransaction WHERE VariableId = @VariableId AND GroupUserId = @GroupUserId 

各GroupUserId

ためVariableTransactionから削除するには、この願いが、私は解決策を見つけ出すことはできませんすべての例を見て、 ANDとのどこでそれが複雑になります。

答えて

1

サブクエリでIN句を使用してみてください:

DELETE FROM VariableTransaction WHERE VariableId = @VariableId 
AND GroupUserId IN (SELECT Id FROM GroupUser WHERE GroupUserId = @GroupUserId) 
関連する問題