tengo una consulta que por ahora se me hace un poco dificil de realizar, tengo una tabla resultante de un openrowset que me saca los registros duplicados de una base de acuerdo a unos criterios dados, pero a su vez, necesito actualizar un campo en donde indique el tipo de incidencia que presenta, por ejemplo de 10 columnas, 1 registros son iguales hasta la columna 7, luego los 3 ultimos son diferentes, en ese caso que me actualize un campo por ejemplo con 'incidencia 1'.
estuve tratando de realizarlo con este codigo, pero no respeta la regla y se actualiza toda mi tabla:
Código SQL:
Ver original
DECLARE @pas1 VARCHAR(255) DECLARE @pas2 VARCHAR(255) DECLARE @NOMBRE VARCHAR(255) DECLARE @COUNT INT DECLARE @COUNTMAX INT DROP TABLE #Lista CREATE TABLE #Lista (serie INT IDENTITY(1,1), agente VARCHAR(255)) INSERT INTO #Lista (agente) SELECT DISTINCT nombre FROM INCIDENCIA_CTI SET @COUNTMAX = (SELECT MAX(serie) FROM #Lista) SET @COUNT = 1 while (@COUNT <= @COUNTMAX ) BEGIN SET @NOMBRE = (SELECT agente FROM #Lista WHERE serie = @COUNT) SET @pas1 = (SELECT organizacion+id_empleado FROM INCIDENCIA_CTI WHERE nombre = @NOMBRE AND rn = '1') SET @pas2 = (SELECT organizacion+id_empleado FROM INCIDENCIA_CTI WHERE nombre = @NOMBRE AND rn = '2') IF (@pas1 <> @pas2) BEGIN UPDATE INCIDENCIA_CTI SET tipo_incidencia = 'amarillo' WHERE nombre = @NOMBRE AND @pas1 <> @pas2 END SET @COUNT= @COUNT+1 END
podrian indicarme que se esta haciendo mal...?? o alguna alternativa de solucion al caso...???