duplicar n veces una fila en funcion de un campo

18/10/2006 - 10:17 por ivan | Informe spam
Hola.
Quisiera saber la forma de duplicar n veces una fila en funcion de un campo
de la consulta.
Es decir , la consulta lista servicios para clientes de esta forma.
servicio1 3
servicio2 2

y yo lo que quiero es conseguir que la consulta me lo muestre asi:
servicio1
servicio1
servicio1
servicio2
servicio2
Gracias a quien me ayude!
Un saludo.
 

Leer las respuestas

#1 Alejandro Mesa
18/10/2006 - 15:10 | Informe spam
Ivan,

Para este tipo de problemas es muy conveniente usar una tabla auxiliar de
numeros. Esta tabla no consume muchos recursos y es muy practica.

Ejemplo:

select identity(int, 1, 1) as numero
into dbo.numero
from sysobjects as a cross join sysobjects as b
go

alter table dbo.numero
alter column numero int not null
go

alter table dbo.numero
add constraint pk_numero primary key clustered (numero asc) with fillfactor
= 100
go

select t.servicio
from dbo.numero as n inner join dbo.t1 as t on n.numero <= t.c2
go


AMB

"ivan" wrote:

Hola.
Quisiera saber la forma de duplicar n veces una fila en funcion de un campo
de la consulta.
Es decir , la consulta lista servicios para clientes de esta forma.
servicio1 3
servicio2 2

y yo lo que quiero es conseguir que la consulta me lo muestre asi:
servicio1
servicio1
servicio1
servicio2
servicio2
Gracias a quien me ayude!
Un saludo.



Preguntas similares