SQLServer中case when 与列拼接

select * from(SELECT      dbo.Task_Decomp.SubprojectName WorkTask_Title, 
(case dbo.Task_Decomp.States
when '-3' then '已完成'
when '-7' then '已完成'
when '5'  then '已完成'
else '办理中'
end) workTask_Status,
dbo.Task_Project.CreateOrgName,
('http://xxxxx/Views/Test/DecompOverViews.aspx?id='+ dbo.Task_Project.REC_ID+'&fid='+ dbo.Task_Decomp.REC_ID) WorkTask_URL_Link
,dbo.SM_SysUser.LogonName
FROM         dbo.Task_Project INNER JOIN
dbo.Task_Decomp ON dbo.Task_Project.REC_ID = dbo.Task_Decomp.F_Project INNER JOIN
dbo.SM_SysUser ON dbo.Task_Decomp.UserID = dbo.SM_SysUser.SysUserID
union
SELECT     P.ProjectName WorkTask_Title, 

(case    P.Status 
when '-3' then '已完成'
when '-7' then '已完成'
when '5'  then '已完成'
else '办理中'
end) workTask_Status,   P.CreateOrgName,
('http://xxxx/Views/Test/ProjectOverview.aspx?id='+P.REC_ID) WorkTask_URL_Link
,  S.LogonName
FROM         dbo.Task_Project AS P INNER JOIN
dbo.SM_SysUser AS S ON S.SysUserID = P.CreatPersonid ) t
where t.workTask_Status='' and t.LogonName=''

原文地址:https://www.cnblogs.com/Jack_G/p/2306661.html