Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
noamg
Posting Yak Master
215 Posts |
Posted - 2007-06-07 : 03:29:23
|
| I need to find the gap-range of an integer columnsfor example:create table Nums( num int )insert into Nums select 1insert into Nums select 2insert into Nums select 4insert into Nums select 7insert into Nums select 8the result: fromNum toNum3, 35, 6thanksNoam Graizer |
|
|
mwjdavidson
Aged Yak Warrior
735 Posts |
Posted - 2007-06-07 : 04:24:02
|
Try this:--Create table variableDECLARE @gaps TABLE(id INT)--Insert test dataINSERT INTO @gapsSELECT 1UNION ALL SELECT 2UNION ALL SELECT 4UNION ALL SELECT 5UNION ALL SELECT 8UNION ALL SELECT 9SELECT gap_start.id + 1 AS FromNum, MIN(gap_end.id) -1 AS ToNumFROM ( SELECT g1.id FROM @gaps AS g1 WHERE NOT EXISTS (SELECT * FROM @gaps AS g2 WHERE g2.id = g1.id + 1) ) AS gap_startJOIN ( SELECT g1.id FROM @gaps AS g1 WHERE NOT EXISTS (SELECT * FROM @gaps AS g2 WHERE g2.id = g1.id - 1) ) AS gap_endON gap_start.id < gap_end.idGROUP BY gap_start.id Mark |
 |
|
|
noamg
Posting Yak Master
215 Posts |
Posted - 2007-06-07 : 04:34:46
|
| many thanks !Noam Graizer |
 |
|
|
mwjdavidson
Aged Yak Warrior
735 Posts |
Posted - 2007-06-07 : 04:57:15
|
| No problemMark |
 |
|
|
|
|
|