Yo lo hago de la siguiente forma:
Código:
declare @codigo int
declare cr_codigo cursor for
SELECT DISTINCT codigo
FROM importador
for read only
open cr_codigo
fetch next from cr_codigo into @codigo
CREATE TABLE tmp_resultado
(
codigo int,
nombre varchar(50)
)
while @@fetch_status=0
begin
INSERT INTO tmp_resultado
SELECT TOP 1 codigo, nombre FROM importador WHERE codigo=@codigo ORDER BY LEN(nombre) DESC
fetch next from cr_codigo into @codigo
end
close cr_codigo
deallocate cr_codigo
Por si acaso, no quise ofenderte, sólo que es necesario plantear bien el problema, sino nadie te ayudará, o peor te darán una solución que no es.
Espero haberte ayudado.
Suerte!