如测试表: Users
ResumeID | SkillName | Level | TimeLong |
27408 | WebSphere | 一般 | 12个月 |
27408 | *BSD | 熟练 | 12个月 |
27408 | Mac | 熟练 | 12个月 |
27409 | ADi | 熟练 | 12个月 |
查询Users表实现如下效果:
WebSphere: 一般 12个月;*BSD: 熟练:12个月;Mac: 熟练:12个月;Acrobat: 一般:12个月;
接下来创建函数 getSkillString
create FUNCTION dbo.getSkillString
(
@personID int
/*
根据传入的用户ID 返回该用户的所有技能集合
*/
)
RETURNS varchar(max)
AS
BEGIN
declare @skill varchar(max)
set @skill=''
begin
select @skill= @skill+' '+Users.SkillName +':'+Users.Level+':'+Users.TimeLong+';' from Users
where Users.ResumeId=@personID
end
RETURN @skill
END
调用:select dbo.getSkillString(27408)
OK,结果出来了,