Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Tenho uma consulta SQL que me retorna o seguinte:
codigo etiqueta produto
00001 0001000100 qualquer
Como vou imprimir etiquetas com codigos de barras, preciso dizer uma quantidade via sistema para esses sql retornar, por exemplo:
parametro 5
codigo etiqueta produto
00001 0001000100 qualquer
00001 0001000100 qualquer
00001 0001000100 qualquer
00001 0001000100 qualquer
00001 0001000100 qualquer
Existe algum comando SQL para duplicar essa consulta, quantas vezes eu quizer?
Exatamente esta ideia.
Alterei para o que eu quero, inicialmente, ficando assim:
set nocount on
go
declare @qtde int
set @qtde = 10
while @qtde > 0
begin
select * from FLAN
where IDLAN = '16'
set @qtde = @qtde - 1
end
ele está duplicado o SQL, legal. Mas não tem como ele me retornar as duplicações na mesma query?
assim:
codigo etiqueta produto
00001 0001000100 qualquer
00001 0001000100 qualquer
00001 0001000100 qualquer
00001 0001000100 qualquer
00001 0001000100 qualquer
por que está vindo assim:
codigo etiqueta produto
00001 0001000100 qualquer
codigo etiqueta produto
00001 0001000100 qualquer
codigo etiqueta produto
00001 0001000100 qualquer
codigo etiqueta produto
00001 0001000100 qualquer
codigo etiqueta produto
00001 0001000100 qualquer
E preciso que eles venham na minha query, como se eu usasse union all.
Tente assim:
declare @table_insert table (codigo int, etiqueta varchar(100), produto varchar(max))declare @table table (codigo int, etiqueta varchar(100), produto varchar(max))insert into @table values (1, '0001000100', 'qualquer') -- select from @table declare @qtde intset @qtde = 5 while @qtde > 0 begininsert into @table_insertselect from @table set @qtde = @qtde - 1end select * from @table_insert
Não funcionou. Ainda sim está repedindo a consulta, e não unindo elas.
Preciso unir as consultas.
exemplo:
Select * from TABELA
union all
Select * from TABELA
Mas o que realmente está pegando é como eu faço isso, dizendo ao SQL quantas vezes eu quero unir a mesma consulta!
Para exibição com o while tem que salvar em uma tabela temporaria.
No meu último exemplo tem a tabela @table_insert que faz a junção do resultado.
While:
>
set nocount on
go
declare @table table (codigo int, etiqueta varchar(100), produto varchar(max))
declare @qtde int
set @qtde = 5
while @qtde > 0
begin
select * from @table
set @qtde = @qtde - 1
end