y el campo fecha que valores tiene? si lo tienes con una fecha creo que es posible usar alguna de las funciones de sql server, otra pregunta, repites los valores de nombre, estos se repiten???
Podrias usar esto:
Código SQL:
Ver originalCREATE TABLE #temp
(
id INT IDENTITY(1,1),
valor VARCHAR(20),
valor1 INT
)
INSERT INTO #temp VALUES ('Inicio', 111)
INSERT INTO #temp VALUES ('Mover', 111)
INSERT INTO #temp VALUES ('Bajar', 111)
INSERT INTO #temp VALUES ('Termina', 111)
INSERT INTO #temp VALUES ('Inicio', 999)
INSERT INTO #temp VALUES ('mover', 999)
INSERT INTO #temp VALUES ('Termina', 999)
INSERT INTO #temp VALUES ('Inicio', 888)
INSERT INTO #temp VALUES ('mover', 888)
INSERT INTO #temp VALUES ('Inicio', 222)
SELECT *, dense_rank() OVER(ORDER BY valor1) AS col FROM #temp ORDER BY id
Y da como resultado esto:
id valor valor1 col
1 Inicio 111 1
2 Mover 111 1
3 Bajar 111 1
4 Termina 111 1
5 Inicio 999 4
6 mover 999 4
7 Termina 999 4
8 Inicio 888 3
9 mover 888 3
10 Inicio 222 2
o puedes usar esto:
Código SQL:
Ver originalSELECT t1.*,campo FROM #temp AS t1 LEFT JOIN
(
SELECT DENSE_RANK() OVER(ORDER BY id) AS campo,valor,valor1,id FROM #temp WHERE valor='inicio'
) AS t2 ON (t1.id=t2.id)
donde da como resultado esto:
id valor valor1 campo
1 Inicio 111 1
2 Mover 111 NULL
3 Bajar 111 NULL
4 Termina 111 NULL
5 Inicio 999 2
6 mover 999 NULL
7 Termina 999 NULL
8 Inicio 888 3
9 mover 888 NULL
10 Inicio 222 4