如何在选择上增加数字

时间:2018-06-13 22:40:28

标签: sql

我有这个查询从表中检索一些信息:

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没有增量,则可以正常工作。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

我认为JobTicketField是一个int?如果没有,添加1将不会如您所述的那样递增。如果是这样,那么我认为您正在寻找coalesce

select JobName, 
     coalesce(max(JobTicketField),0) + 1 as ID 
from ServiceUsage_T 
Where JobName = 'Doc1' 
group by JobName

如果JobTicketFieldnull,则返回0,然后为其添加1。没有看到incrementvalue变量的使用。