Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/02/2014, 10:14
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, 3 meses
Puntos: 774
Respuesta: Encontrar incidencias en base de duplicados

Código SQL:
Ver original
  1. DECLARE @pas1 VARCHAR(255)
  2. DECLARE @pas2 VARCHAR(255)
  3. DECLARE @NOMBRE VARCHAR(255)
  4. DECLARE @COUNT INT
  5. DECLARE @COUNTMAX INT
  6.  
  7. DROP TABLE #Lista
  8.  
  9. CREATE TABLE #Lista (serie INT IDENTITY(1,1), agente VARCHAR(255))
  10.  
  11. INSERT INTO #Lista (agente) SELECT DISTINCT nombre FROM INCIDENCIA_CTI
  12.  
  13. SET @COUNTMAX = (SELECT MAX(serie) FROM #Lista)
  14. SET @COUNT = 1
  15.  
  16. while (@COUNT <= @COUNTMAX )
  17. BEGIN
  18.  
  19. SET @NOMBRE = (SELECT agente FROM #Lista WHERE serie = @COUNT)
  20. SET @pas1 = (SELECT organizacion+id_empleado FROM INCIDENCIA_CTI WHERE nombre = @NOMBRE AND rn = @COUNT)
  21. SET @pas2 = (SELECT organizacion+id_empleado FROM INCIDENCIA_CTI WHERE nombre = @NOMBRE AND rn = @COUNT+1)
  22.  
  23. IF (@pas1 <> @pas2)
  24. BEGIN
  25. UPDATE INCIDENCIA_CTI SET tipo_incidencia = 'amarillo' WHERE nombre = @NOMBRE AND (organizacion+id_empleado=@pas1)
  26. END
  27.  
  28. SET @COUNT= @COUNT+1
  29. END

prueba con eso :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me