当前位置: 代码迷 >> Sql Server >> 整个表的数据列出来的有关问题
  详细解决方案

整个表的数据列出来的有关问题

热度:175   发布时间:2016-04-27 19:19:58.0
整个表的数据列出来的问题?
求一SQL:
我想将整个表的数据列出来,tabletemp表中有id,flag,a,b,c,f字段,如果 flag='是' 执行 select a,b,b+c from tabletemp 如果flag='否' 执行 select a,b,b+f from tabletemp 列出全部表中的tabletemp中的数据并按id排序,这个语句怎么写?

------解决方案--------------------
select a,b,b+c from tabletemp where flag = '是'
union all
select a,b,b+f from tabletemp where flag = '否'

------解决方案--------------------
SQL code
select a , b , newcol = b+c from tabletemp where flag = '是' union  all select a , b , newcol = b+f from tabletemp where flag = '否'order by id
------解决方案--------------------
select a,b,b+c from tabletemp where flag='是' 
union
select a,b,b+c from tabletemp flag='否' 
order by id
------解决方案--------------------
SQL code
--一共三个,你看哪个合适?select a , b , newcol from(  select id , a , b , newcol = b+c from tabletemp where flag = '是'   union  all   select id , a , b , newcol = b+f from tabletemp where flag = '否') torder by id
------解决方案--------------------
select a , b , newcol = b+ case when flag = '是' then c else f end
from tabletemp
------解决方案--------------------
select a , b , newcol = b+ case when flag = '是' then c else f end
from tabletemp
order by id
  相关解决方案