悬赏分:10 该问题已到期 浏览:230 次
我写了个这样的T_SQL语句
select sid,subject,content,pubdate,promulgator=
case
when exists(select * from snm_scheme where did>0) then (select name from snm_department where snm_department.did=snm_scheme.did and snm_scheme.did>0)
when exists(select * from snm_scheme where cid>0) then (select name from snm_Center where snm_center.cid=snm_scheme.cid and snm_scheme.cid>0)
else
(select username from snm_user where snm_user.uid=snm_scheme.uid)
end
from snm_scheme
我想给promulgator字段筛选后都有数据填充.现在的问题是 获得的promulgator 列结果中只有满足第一个when 条件的数据填充,这是怎么回事啊?
有没有办法能解决
|
你想要的是不是这样的?
select sid,subject,content,pubdate,promulgator= case when did>0 then (select name from snm_department where snm_department.did=snm_scheme.did and snm_scheme.did>0) when cid>0 then (select name from snm_Center where snm_center.cid=snm_scheme.cid and snm_scheme.cid>0) else (select username from snm_user where snm_user.uid=snm_scheme.uid) end from snm_scheme |
|
1个月前 yeyang : 对 就是这样 当时脑袋都糊了哦 这么简单的都没有想到 呵呵 谢谢了 deerchao |