Мой код:агрегации SQL Строка возвращает разные результаты в зависимости от местоположения переменных
if object_id('tempdb..#t1') is not null drop table #t1
create table #t1 (ID int, name varchar(10))
insert into #t1 values (1,'2'), (6,'2'), (6,'2'), (1,'4')
DECLARE @CHARS VARCHAR(100) = ''
SELECT @CHARS = @CHARS + name + ', ' -- <---CODE OF INTEREST
FROM #t1
Это возвращает 2, 2, 2, 4,
. Все хорошо.
Однако, когда я изменить код выше, чтобы добавить запятую и место первого:
DECLARE @CHARS VARCHAR(100) = ''
SELECT @CHARS = ', ' + @CHARS + name -- <---CODE OF INTEREST
FROM #t1
SELECT @CHARS
возвращает , , , , 2224
. Должна ли она возвращаться , 2, 2, 2, 4
?
Вы абсолютно правы! Это делает кучу смысла! Не могу поверить, что я не сделал этого сам.>:/Спасибо! –