我如何更改选择...
学生
ID名称家庭电话
1 A Neo 023 **
2 A Cit 012 **
3 B Dti 12 **
4 .. ... ...
我有一个选择的SQL查询,例如:
SELECT
name,
home,
tel
FROM Student
WHERE id<4;
结果就像↓
命名家庭电话
Neo 023 **
Cit 012 **
B Dti 12 **
但是我想得到类似
的结果
命名家庭电话
Neo,Cit 023 **,012 **
B Dti 12 **
答案 0 :(得分:0)
您可以使用CURSOR或CTE并在home和tel字段中串联字符串。有关示例,请参见here。
答案 1 :(得分:0)
尝试以下操作:
declare @Student table (id int, name varchar(10), home varchar(100), tel varchar(10))
insert into @Student select 1, 'A', 'Neo', '023**'
insert into @Student select 2, 'A', 'Cit', '012**'
insert into @Student select 3, 'B', 'Dti', '12**'
select * from @Student
select name, stuff((
select distinct ',' + u.home
from @Student u
where u.name = s.name
for xml path('')),1,1,'') as home, stuff((
select distinct ',' + u.tel
from @Student u
where u.name = s.name
for xml path('')),1,1,'') as tel
from @Student s
group by name