Duplicar linhas de resultados SQL SERVER

SQL Server

SQL

06/09/2021

Prezados,
É possível duplicar uma linha de uma query em determinada quantidade?
Tenho a query abaixo e gostaria que ela repetisse 10 vezes o resultado. (10 linhas).
SELECT CHAVENFE, VOLUME
FROM GLGL_DOCUMENTOCLIENTES A
WHERE A.CHAVENFE = '42210958587080000294550010000084181707794103'
GROUP BY VOLUME,CHAVENFE
Isaque

Isaque

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

06/09/2021

crie a seguinte user function:
CREATE FUNCTION NumbersTable (
  @fromNumber int,
  @toNumber int,
  @byStep int
) RETURNS TABLE
RETURN (
WITH CTE_NumbersTable AS (
  SELECT @fromNumber AS i
  UNION ALL
  SELECT i + @byStep
  FROM CTE_NumbersTable
  WHERE
  (i + @byStep) <= @toNumber
)
  SELECT * FROM CTE_NumbersTable
)

depois use o seguinte comando para repetir o resultado:
SELECT * FROM
(
  SELECT CHAVENFE, VOLUME
  FROM GLGL_DOCUMENTOCLIENTES
  WHERE CHAVENFE = '42210958587080000294550010000084181707794103'
  GROUP BY VOLUME,CHAVENFE
) TAB
CROSS APPLY dbo.NumbersTable(1,10,1)

GOSTEI 1

Mais Respostas

Isaque

Isaque

06/09/2021

crie a seguinte user function:
CREATE FUNCTION NumbersTable (
  @fromNumber int,
  @toNumber int,
  @byStep int
) RETURNS TABLE
RETURN (
WITH CTE_NumbersTable AS (
  SELECT @fromNumber AS i
  UNION ALL
  SELECT i + @byStep
  FROM CTE_NumbersTable
  WHERE
  (i + @byStep) <= @toNumber
)
  SELECT * FROM CTE_NumbersTable
)

depois use o seguinte comando para repetir o resultado:
SELECT * FROM
(
  SELECT CHAVENFE, VOLUME
  FROM GLGL_DOCUMENTOCLIENTES
  WHERE CHAVENFE = '42210958587080000294550010000084181707794103'
  GROUP BY VOLUME,CHAVENFE
) TAB
CROSS APPLY dbo.NumbersTable(1,10,1)



Perfeito, Funcionou corretamente.

Muito Obrigado Emerson!
GOSTEI 0
POSTAR