Я использую 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 @MP, где присутствует «Уэльс»; однако, если я снова запущу оператор, на этот раз, скажем, «Шотландия», все ранее обновленные записи для «Уэльса» станут NULL в myTable.
Я думаю, что я что-то здесь упускаю - использование другого имени переменной для @MP для второго поиска не работает.
'Wales'
. Вы обновили его до'Scotland'
в обоих местах? - person Oded   schedule 04.04.2012