Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/12/2015, 13:13
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Ciclos en select SQL

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 original
  1. CREATE TABLE #temp
  2. (
  3. id INT IDENTITY(1,1),
  4. valor VARCHAR(20),
  5. valor1 INT
  6. )
  7. INSERT INTO #temp VALUES ('Inicio', 111)
  8. INSERT INTO #temp VALUES ('Mover', 111)
  9. INSERT INTO #temp VALUES ('Bajar', 111)
  10. INSERT INTO #temp VALUES ('Termina', 111)
  11. INSERT INTO #temp VALUES ('Inicio', 999)
  12. INSERT INTO #temp VALUES ('mover', 999)
  13. INSERT INTO #temp VALUES ('Termina', 999)
  14. INSERT INTO #temp VALUES ('Inicio', 888)
  15. INSERT INTO #temp VALUES ('mover', 888)
  16. INSERT INTO #temp VALUES ('Inicio', 222)
  17.  
  18.  
  19. 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 original
  1. SELECT t1.*,campo FROM #temp AS t1 LEFT JOIN
  2. (
  3. SELECT DENSE_RANK() OVER(ORDER BY id) AS campo,valor,valor1,id FROM #temp WHERE valor='inicio'
  4. ) 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
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 23/12/2015 a las 15:37