我有这个查询从表中检索一些信息:
declare @incrementvalue int
set @incrementvalue = 1
select
JobName, max(JobTicketField) + @incrementvalue as ID
from
ServiceUsage_T
where
JobName = 'Doc1'
group by
JobName
如果列JobTicketField
有一些值,即Job1,返回值为Job2,但是如果条目是新的,即作业3没有增量,则可以正常工作。
我该如何解决这个问题?
答案 0 :(得分:3)
我认为JobTicketField
是一个int?如果没有,添加1将不会如您所述的那样递增。如果是这样,那么我认为您正在寻找coalesce
:
select JobName,
coalesce(max(JobTicketField),0) + 1 as ID
from ServiceUsage_T
Where JobName = 'Doc1'
group by JobName
如果JobTicketField
为null
,则返回0,然后为其添加1。没有看到incrementvalue
变量的使用。