在我的存储过程返回空值,我串联我的结果到像一个字符串:的毗连结果在一个字符串中的存储过程
Problem1|Problem2|Problem3
当我试图在一个变量@display
来存储,它将返回null 。当我运行查询而不将其存储到变量时,它会返回结果。不知道为什么它返回null?
declare @display nvarchar(500)
select
@display = @display + gp2.ProblemDesc + '|'
from (SELECT gp.GrantProblemID, gp.ProblemDesc, gps.GrantProblemStatus, row_number() over (partition by gp.grantproblemid order by p.periodid desc) ranking from MergedProgressReport.dbo.[PeriodAgencyGrantProblems] pagp
inner join MergedProgressReport.dbo.PeriodAgencyGrants pag on pag.PeriodAgencyGrantsID = pagp.PeriodAgencyGrantID and pag.GrantNumber = '2011UMWX0001'
inner join MergedProgressReport.dbo.periodagencyinfo pai on pag.PeriodAgencyInfoID = pai.PeriodAgencyInfoID inner join MergedProgressReport.dbo.Periods p on p.PeriodID = pai.PeriodID
inner join MergedProgressReport.dbo.GrantProblemStatus gps on pagp.GrantProblemStatusID = gps.GrantProblemStatusID inner join MergedProgressReport.dbo.GrantProblems gp on pagp.GrantProblemID = gp.GrantProblemID and gp.GrantProblemAreaID = 7) xx
right join MergedProgressReport.dbo.GrantProblems gp2 on xx.GrantProblemID = gp2.GrantProblemID and xx.ranking = 1 where gp2.GrantProblemAreaID = 7
Select @display
难道是因为你有两个结果集? – thebjorn 2013-03-03 12:20:16