效果如下图所示:
SqlServer中连续号及断号查询SQL如下:
--1.定义临时表
DECLARE @TestTemp TABLE(
TestCode NVARCHAR(50),
TestNum INT
)
DECLARE @DataTemp TABLE(
TestCode NVARCHAR(50),
TestNumStr NVARCHAR(100)
)
--2.插入测试数据
INSERT INTO @TestTemp(TestCode,TestNum)
VALUES
('Code001',2),('Code001',3),('Code001',4),('Code001',6),('Code001',8),('Code001',9),
('Code002',20),('Code002',15),('Code002',16),('Code002',17),('Code002',10),('Code002',21)
--3.连续号处理后插入临时表
INSERT INTO @DataTemp(TestCode,TestNumStr)
SELECT TestCode,
(CASE WHEN MAX(b.TestNum)>MIN(b.TestNum)
THEN CAST(MIN(b.TestNum) AS NVA