Tsql 如何在SQL Server中为以下场景创建函数
我需要创建一个返回字符串的函数。函数的输入是studentid: 表格格式如下:Tsql 如何在SQL Server中为以下场景创建函数,tsql,sql-server-2012,Tsql,Sql Server 2012,我需要创建一个返回字符串的函数。函数的输入是studentid: 表格格式如下: studentid subname subid ------------------------------ 1 math 2 1 sci,xx 3 1 social 1 函数输入为studentid,应按上述子ID排序,函数应返回字符串social~math~sci,xx 有人能给个主意吗 select
studentid subname subid
------------------------------
1 math 2
1 sci,xx 3
1 social 1
函数输入为studentid,应按上述子ID排序,函数应返回字符串social~math~sci,xx
有人能给个主意吗
select
T1.studentid,
stuff((select '~' + T2.subname
from Studenttable as T2
where T1.studentid = T2.studentid
for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '') as subname
from
Studenttable as T1
group by
T1.studentid
如何将上述逻辑转换为studentid作为i/p,以便按函数中的子ID按表顺序排列?这是家庭作业吗?显示您已尝试的内容。选择T1.studentid,填充从Studenttable中选择“~”+T2.subname作为T2,其中T1.studentid=T2.studentid作为xml路径,键入.value'',varcharmax',1,1,作为子名称从Studenttable中作为T1组由T1生成。studentid如何生成,其中一个studentid为i/p,按子ID排序
select
T1.studentid,
stuff((select '~' + T2.subname
from Studenttable as T2
where T1.studentid = T2.studentid
for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '') as subname
from
Studenttable as T1
group by
T1.studentid