with test(id,序号,姓名,国籍,测量)
as
(
select 1,1,'张三','中国','1米' union all
select 2,2,'张三','中国','2米' union all
select 3,1,'李四','中国','2米' union all
select 4,2,'李四','中国','4米' union all
select 5,3,'李四','中国','6米' union all
select 6,1,'TOM','英国','3米' union all
select 7,2,'TOM','英国','7米'
)
select 姓名,国籍,测量=姓名 +stuff((select '<br>'+测量 from test t where 姓名=test.姓名 and 国籍=test.国籍 for xml path('')),1,1,'') from test
group by 姓名,国籍
order by max(id)
我要的结果是 含有 <br>的 ,但结果都变成了 lt;br> 求解
------解决思路----------------------
with test(id,序号,姓名,国籍,测量)
as
(
select 1,1,'张三','中国','1米' union all
select 2,2,'张三','中国','2米' union all
select 3,1,'李四','中国','2米' union all
select 4,2,'李四','中国','4米' union all
select 5,3,'李四','中国','6米' union all
select 6,1,'TOM','英国','3米' union all
select 7,2,'TOM','英国','7米'
)
select 姓名,国籍,replace(姓名 + stuff((select ('br')+测量 from test t where 姓名=test.姓名 and 国籍=test.国籍 for xml path('')),1,0,''),N'br',N'<br>')
from test
group by 姓名,国籍
order by max(id)
这样也行