ORACLE 语句 怎么加一列

select * from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime,
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
--else '-1'
end ) dqsj
from t_jbhf_ymsq t,
wfprocessinst wf
where t.processinstid= wf.processinstid

) m
where m.dqsj > '2018-06-20 17:44'
and
(case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end )='1'

图片说明
如图,我需要在查询出来的展示列里在加一列,这个列就是最外边where条件后的case when 的结果,现在他的值作为判断等于1了,能起别名什么的也行,只要能出来一列就行,怎么做?

select * from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime,
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
end ) dqsj,
(case
when (case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
end )>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when (case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
end )<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end ) nowdate1,
from t_jbhf_ymsq t,
wfprocessinst wf
where t.processinstid= wf.processinstid

) m
where m.dqsj > '2018-06-20 17:44'
and
(case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end )='1'

你看一下行列互换的方式就知道了

实在不行可以直接用鼠标操作啊 直接点表 然后修改表 试试

列名用常量,然后增加一个别名

select m.*,
(case 
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1' 
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2' 
end) value 
from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime, 
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi') 
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
--else '-1'
end ) dqsj
from t_jbhf_ymsq t,
wfprocessinst wf 
where t.processinstid= wf.processinstid

) m 
where m.dqsj > '2018-06-20 17:44'
and 
(case 
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1' 
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2' 
end )='1' 

alter可以修改表的属性

图形化管理工具就可以了啊

在第一个select 里面加上条件后面的case when 设置一个别名做为列输出。
select (case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end ) m_values,m.*
from
(select t.lsh,t.sqrid,t.sqrmc,t.sqbmid,t.sqbmmc,t.processinstid,t.lxfs,t.ym,
wf.endtime,
(case t.syqx
when '1' then to_char((SELECT add_months(wf.endtime,6) months from dual),'yyyy-mm-dd HH24:mi')
when '2' then to_char((SELECT add_months(wf.endtime,12) months from dual),'yyyy-mm-dd HH24:mi')
--else '-1'
end ) dqsj
from t_jbhf_ymsq t,
wfprocessinst wf
where t.processinstid= wf.processinstid

) m
where m.dqsj > '2018-06-20 17:44'
and
(case
when m.dqsj>to_char(sysdate,'yyyy-mm-dd HH24:mi') then '1'
when m.dqsj<=to_char(sysdate,'yyyy-mm-dd HH24:mi') then '2'
end )='1'