troubleshooting Question

Using TSQL to identify sequencing of groups

Avatar of Stefan Lennerbrant
Stefan LennerbrantFlag for Sweden asked on
Microsoft SQL ServerSQL
9 Comments3 Solutions111 ViewsLast Modified:
I've got an MS-SQL table
create table test(
  name varchar(100),
  sequence integer,
  position integer);

that contains:
insert into test values('A', null, 1);
insert into test values('A', null, 2);
insert into test values('A', null, 3);
insert into test values('B', null, 4);
insert into test values('B', null, 10);
insert into test values('A', null, 11);
insert into test values('A', null, 15);
insert into test values('B', null, 16);
insert into test values('C', null, 20);
insert into test values('C', null, 21);
insert into test values('A', null, 22);
insert into test values('A', null, 23);

The field "position" is unique, no two rows contain the same value. There may however be gaps in the number list (see above)


Now what I'd like to do with TSQL is to identify the "groupings" of sequences of the "position" number, for each name.
The name "A" first sequence group is for position 1,2,3 - its sequence 2 is for position 11,15 and its sequence 3 is for position 22,23
The "B" name sequence group 1 contains position 4,10 and its sequence 2 is for position 16
And the "C" name has only got one sequence group, for position 20,21

Thus, I'd like to the result of the TSQL update be identical to if I had done the following insert to begin with:
insert into test values('A', 1, 1);
insert into test values('A', 1, 2);
insert into test values('A', 1, 3);
insert into test values('B', 1, 4);
insert into test values('B', 1, 10);
insert into test values('A', 2, 11);
insert into test values('A', 2, 15);
insert into test values('B', 2, 16);
insert into test values('C', 1, 20);
insert into test values('C', 1, 21);
insert into test values('A', 3, 22);
insert into test values('A', 3, 23);

Any smart ideas? Otherwise I'll probably have to do this "off-line" with some kind of non-SQL programming

/Stefan
ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 3 Answers and 9 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 3 Answers and 9 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros