Copiar determinados registros

04/04/2008 - 11:01 por Masta | Informe spam
Hola a todos.

Tengo una tabla con 3000 registros que contienen los siguientes datos:

1234_01.jpg
1234_09.jpg
1234_11.jpg
1234_12.jpg
2341_01.jpg
2341_05.jpg
2341_06.jpg
2341_08.jpg
2341_09.jpg
(...)

Cuatro dígitos que corresponden a una determinada referencia seguidos
por "_" y cierta numeración detrás.
Necesito copiar un registro diferente de cada una de las referencias a
otra tabla, y la verdad es que no consigo hacerlo.

Muchas gracias por vuestra ayuda.
 

Leer las respuestas

#1 Carlos M. Calvelo
04/04/2008 - 21:22 | Informe spam
Hola Masta,

On 4 apr, 11:01, Masta wrote:
Hola a todos.

Tengo una tabla con 3000 registros que contienen los siguientes datos:

1234_01.jpg
1234_09.jpg
1234_11.jpg
1234_12.jpg
2341_01.jpg
2341_05.jpg
2341_06.jpg
2341_08.jpg
2341_09.jpg
(...)

Cuatro dígitos que corresponden a una determinada referencia seguidos
por "_" y cierta numeración detrás.
Necesito copiar un registro diferente de cada una de las referencias a
otra tabla, y la verdad es que no consigo hacerlo.




Quizá esto te de una idea de como seleccionar un solo registro
por lo que tu llamas referencia; aquel con la numeración menor.

select
ref + resto
from (
select
left(N,charindex('_',N)-1) as ref,
min( right(N, len(N)-charindex('_',N)+1)) as resto
from (
select '1234_01.jpg' as N
union select '1234_09.jpg'
union select '1234_11.jpg'
union select '1234_11.jpg'
union select '1234_12.jpg'
union select '2341_01.jpg'
union select '2341_05.jpg'
union select '2341_06.jpg'
union select '2341_08.jpg'
union select '2341_09.jpg'
) T
group by left(N,charindex('_',N)-1)
) X

Saludos,
Carlos

Preguntas similares