Я пытался объединить значения через запятую, когда буду использовать group by.Поэтому я использую функцию STUFF()
и предложение for xml path('')
.Вот мой сценарий
IF EXISTS
(
SELECT *
FROM tempdb.dbo.sysobjects
WHERE ID = OBJECT_ID(N'tempdb..#tmp1')
)
BEGIN
DROP TABLE #tmp1
END
create table #tmp1
(ID varchar(2),CName varchar(20) )
insert into #tmp1(ID,CName) values ('A','BBA Reman')
insert into #tmp1(ID,CName) values ('B','BBA Reman')
insert into #tmp1(ID,CName) values ('C','CT Tech')
insert into #tmp1(ID,CName) values ('D','CT Tech')
select
t1.CName,
stuff((
select ',' + t.ID
from #tmp1 t
where t.CName = t1.CName
order by t.ID
for xml path('')
),1,1,'') as ConCatStr
from #tmp1 t1
group by t1.CName
Вышеуказанный сценарий успешно работает в SQL Server 2005, но не работает в SQL Server 2000. Так что скажите мне, как реструктурировать мой сценарий, в результате он также должен работать в SQL Server 2000.