Repetir un dato...

28/11/2005 - 15:26 por Daniel G. Samborski | Informe spam
Hola, necesito repetir un dato obtenido una X cantidad de veces.

Por ej.

Si ingreso el código del producto (99) me regresa el código del producto, el
precio en efectivo y el precio con tarjeta.
Este dato es para imprimir el código de barras.
Y necesito poder obtener este dato repetido tantas veces como el cliente
quiera imprimir etiquetas.

select ('*' + productos.codprod + '*') as CodigoBarra,
productos.codprod,
convert (varchar, productos.precioefectivo) as Efectivo,
convert (varchar, max(productoTarjeta.precio)) as Tarjeta
from productos
inner join productotarjeta on productotarjeta.codprod=productos.codprod and
productos.codprod=@CodProd and productos.codprod = productotarjeta.codprod
and
len(productos.codprod) <= 8
group by productos.codprod, productos.precioefectivo

Esto me devolvería...

CodigoBarra codprod Efectivo Tarjeta
*99* 99 25.05 34.15

Y necesitaría que me muestre de esta forma...

CodigoBarra codprod Efectivo Tarjeta
*99* 99 25.05 34.15
*99* 99 25.05 34.15
*99* 99 25.05 34.15
...

La cantidad de repeticiones deberá ser dado por un valor, se le podría
agregar @Repetir y a partir del valor que esta tenga repetir la cantidad de
veces que se debe mostrar.

Espero se entienda lo que quiero hacer.

Daniel.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
28/11/2005 - 15:45 | Informe spam
Daniel,

Es muy util contar con una tabla de numeros en cualquier db. Pudieramos
tener un millon de filas o mas si es necesario porque sql server maneja muy
bien tal cantidad.

Ejemplo:

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

create unique clustered index ix_u_c_numero_numero on numero(numero asc)
go

declare @i int

set @i = 3

select a.*
from
(
select ('*' + productos.codprod + '*') as CodigoBarra,
productos.codprod,
convert (varchar, productos.precioefectivo) as Efectivo,
convert (varchar, max(productoTarjeta.precio)) as Tarjeta
from productos
inner join productotarjeta on productotarjeta.codprod=productos.codprod and
productos.codprod=@CodProd and productos.codprod = productotarjeta.codprod
and
len(productos.codprod) <= 8
group by productos.codprod, productos.precioefectivo
) as a
inner join
numero as n
on n.numero <= @i
go

Why should I consider using an auxiliary numbers table?
http://www.aspfaq.com/show.asp?id%16


AMB

"Daniel G. Samborski" wrote:

Hola, necesito repetir un dato obtenido una X cantidad de veces.

Por ej.

Si ingreso el código del producto (99) me regresa el código del producto, el
precio en efectivo y el precio con tarjeta.
Este dato es para imprimir el código de barras.
Y necesito poder obtener este dato repetido tantas veces como el cliente
quiera imprimir etiquetas.

select ('*' + productos.codprod + '*') as CodigoBarra,
productos.codprod,
convert (varchar, productos.precioefectivo) as Efectivo,
convert (varchar, max(productoTarjeta.precio)) as Tarjeta
from productos
inner join productotarjeta on productotarjeta.codprod=productos.codprod and
productos.codprod=@CodProd and productos.codprod = productotarjeta.codprod
and
len(productos.codprod) <= 8
group by productos.codprod, productos.precioefectivo

Esto me devolvería...

CodigoBarra codprod Efectivo Tarjeta
*99* 99 25.05 34.15

Y necesitaría que me muestre de esta forma...

CodigoBarra codprod Efectivo Tarjeta
*99* 99 25.05 34.15
*99* 99 25.05 34.15
*99* 99 25.05 34.15


La cantidad de repeticiones deberá ser dado por un valor, se le podría
agregar @Repetir y a partir del valor que esta tenga repetir la cantidad de
veces que se debe mostrar.

Espero se entienda lo que quiero hacer.

Daniel.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida