sqlserver中能用when_SQLServer中case when 与列拼接

这是一个关于SQL查询的博客,内容涉及任务的工作状态跟踪。查询包括两个部分:一是任务分解的状态,如'已完成'或'办理中';二是项目状态的追踪,同样区分已完成和进行中。查询结果还包含创建组织名、任务链接以及负责人。所有未完成且负责人为空的任务被筛选出来。
摘要由CSDN通过智能技术生成

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=''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值