首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求这句case when语句该如何写

2012-03-09 
求这句case when语句该怎么写?tableCId stateflagcreatetime updatetime1 deletetimeupdatetime31 创建无2

求这句case when语句该怎么写?
tableC

Id state flag createtime updatetime1 deletetime updatetime3  
1 创建 无 2011-07-07 无 无 无
2 删除 无 无 无 2011-08-07 无
3 更新 1 无 2011-08-13 无 无  
4 更新 3 无 无 无 2011-08-08  

   
我想实现这样一个效果


Id state dealtime(处理时间)
1 创建 2011-07-07
2 删除 2011-08-07
3 更新 2011-08-13
4 更新 2011-08-08  




请问这样一句case when语句应该怎么写?
或者有比case when语句更方便的方法?

[解决办法]

SQL code
--> 测试数据:#if object_id('tempdb.dbo.#') is not null drop table #create table #(Id int, state varchar(8), flag int, createtime datetime, updatetime1 datetime, deletetime datetime, updatetime3 datetime)insert into #select 1, '创建', null, '2011-07-07', null, null, null union allselect 2, '删除', null, null, null, '2011-08-07', null union allselect 3, '更新', 1, null, '2011-08-13', null, null union allselect 4, '更新', 3, null, null, null, '2011-08-08'select Id, state, dealtme=coalesce(createtime, updatetime1, deletetime, updatetime3)  from #/*Id          state    dealtme----------- -------- -----------------------1           创建       2011-07-07 00:00:00.0002           删除       2011-08-07 00:00:00.0003           更新       2011-08-13 00:00:00.0004           更新       2011-08-08 00:00:00.000*/ 

热点排行