表中的自动增量列基于另一个列值 [英] Auto increment column in table based on another column value
本文介绍了表中的自动增量列基于另一个列值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要这样的结果:
I need result like this:
ChNo====|=====Row Column
11 | 10
12 | 14
13 | 16
15 | 18
17 | 19
20 | 21
行列=>将根据ChNo列生成Num(存在)或不)
Row Column =>Will Generate Num based on ChNo Column (exists or not)
if not exists(select * from TableNameA where ChNo = 10)
如果TableNameA(ChNo)列中不存在给定的数字,我需要从10开始自动递增(行列)。
数字11存在于ChNo列中,所以我想增加直到它在该ChNo列中不存在。
请给我一个解决方案
谢谢。
if the given number not exists in the TableNameA(ChNo) column, i need to Auto Increment (Row Column) from 10.
The num 11 exists in ChNo Column, so i want to increment until it doesn't exists in that ChNo column.
Please give me a solution
Thanks.
推荐答案
您似乎要做的是使用SQL找到序列中的间隙。
如果我将数据复制为
What you appear to be trying to do is "find a gap in a sequence" using SQL.
If I replicate your data as
create table temp
(
ChNo int
)
insert into temp values (11),(12),(13),(15), (17),(20)
以下查询将返回
The following query will return
14<br />
SELECT TOP 1 ChNo + 1
FROM temp mo
WHERE NOT EXISTS
(
SELECT NULL
FROM temp mi
WHERE mi.ChNo = mo.ChNo + 1
)
ORDER BY
ChNo
根据接受的答案改编为这篇文章 [ ^ ]
其他解决方案将在这里讨论 [ ^ ]
这篇关于表中的自动增量列基于另一个列值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文