求这句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语句更方便的方法?
[解决办法]
--> 测试数据:#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*/