SQL Server - how to use derived table for calculated field? -
SQL Server - how to use derived table for calculated field? -
i'm trying utilize calculated field value in clause in query, , after research know need create derived table. i'm not sure syntax however, since calculated field uses case statement like:
case t.isreassigned when 1 datediff(minute, (select top 1 sxavwftaskhistory.createdwhenutc sxavwftaskhistory taskid = t.taskid , statusid = 7 order taskhistoryid desc), sysdatetimeoffset()) else case stat.statusid when 1 datediff(minute,tsk.createdwhenutc, sysdatetimeoffset()) -- time duration between when task created(use sxavwftask.createdwhenutc) , when 2 datediff(minute,tsk.createdwhenutc, sysdatetimeoffset()) -- time duration between when task created(use sxavwftask.createdwhenutc) , else datediff(minute,tsk.createdwhenutc, th.createdwhenutc) end end taskitemage, i want utilize taskitemage value in clause like:
where taskitemage > @taskagestart , taskitemage < @taskageend how set case statement sub-select?
************** edit ************ sorry, i'm still bit confused how work. here's larger snippet of query:
select tsk.taskid, --0 th.islatest, th.createdwhenutc taskhistorycreationdate, --10 ts.name state, case t.isreassigned when 1 datediff(minute, (select top 1 sxavwftaskhistory.createdwhenutc sxavwftaskhistory taskid = t.taskid , statusid = 7 order taskhistoryid desc), sysdatetimeoffset()) else case stat.statusid when 1 datediff(minute,tsk.createdwhenutc, sysdatetimeoffset()) -- time duration between when task created(use sxavwftask.createdwhenutc) , when 2 datediff(minute,tsk.createdwhenutc, sysdatetimeoffset()) -- time duration between when task created(use sxavwftask.createdwhenutc) , else datediff(minute,tsk.createdwhenutc, th.createdwhenutc) end end taskitemage, ctx.contexttypename, ctx.contextdescription, --15 th.touchedwhenutc taskhistorymodifieddate #ii sxavwftask tsk inner bring together sxavwftaskhistory th on tsk.taskid = th.taskid inner bring together @pagedtemp t on th.taskhistoryid = t.taskhistoryid taskitemage > @taskagestart , taskitemage < @taskageend select * ( select case ... end casecolumn , * yourtable ) subqueryalias casecolumn between 1 , 2
sql sql-server sql-server-2008-r2
Comments
Post a Comment