SQL Server 2005を使用していて、次のT-SQLステートメントがあります。
DECLARE
@MP VARCHAR(500)
SELECT
@MP = COALESCE(@MP + ',','') + [Name] + ',' + '(' + [Political Party] + ')'
FROM [MPs]
WHERE [MPs].[Region] ='Wales'
UPDATE myTable
SET [Names and parties] =
(SELECT @MP
WHERE myTable.[Local Region] ='Wales')
これは正常に機能し、myTableに「Wales」が存在する@MPを入力します。ただし、今回は「Scotland」などのステートメントを再度実行すると、以前に更新された「Wales」のすべてのエントリがmyTableでNULLになります。
ここで何かが足りないと思います。2回目の検索で@MPに別の変数名を使用しても機能しません。