Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/08/2011, 15:45
sirguille
 
Fecha de Ingreso: septiembre-2005
Mensajes: 74
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: algo más que eliminar duplicados en sql server

Cita:
Iniciado por Libras Ver Mensaje
Y si haces algo asi:


Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. code INT,
  4. iencucod INT,
  5. duracion INT
  6. )
  7.  
  8. INSERT INTO #temp VALUES (1,2999,1062)
  9. INSERT INTO #temp VALUES (2,2999,610)
  10. INSERT INTO #temp VALUES (3,2999,34)
  11. INSERT INTO #temp VALUES (4,6170,447)
  12. INSERT INTO #temp VALUES (5,15729,1148)
  13. INSERT INTO #temp VALUES (6,15729,241)
  14. INSERT INTO #temp VALUES (7,15729,53)
  15. INSERT INTO #temp VALUES (8,38314,1029)
  16. INSERT INTO #temp VALUES (9,38314,256)
  17.  
  18.  
  19. SELECT code,duracion,iencucod FROM #temp WHERE
  20. CONVERT(VARCHAR(20),duracion) + '#' + CONVERT(VARCHAR(20),iencucod)  IN
  21. (
  22.  
  23. SELECT CONVERT(VARCHAR(20),MAX(duracion)) + '#' + CONVERT(VARCHAR(20),iencucod) FROM #temp GROUP BY iencucod
  24.  
  25. )

Saludos!!
Me sirvió el código, gracias. Pero hay un pequeño inconveniente, mi tabla puede variar, puede darse el caso de que tenga duraciones iguales:

insert into #temp values (1,2999,1062)
insert into #temp values (2,2999,1062)

insert into #temp values (3,2999,34)
insert into #temp values (4,6170,447)
insert into #temp values (5,15729,1148)
insert into #temp values (6,15729,241)
insert into #temp values (7,15729,53)
insert into #temp values (8,38314,1029)
insert into #temp values (9,38314,256)

en este caso no me elimina los duplicados 1,2999, 1062 y 2,2999,1062.
Mi objetivo es eliminar duplicados y dejar el de mayor duración, en este último caso dejar cualquiera de los dos ya que tienen duración igual.

Gracias por la ayuda brindada.