Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Aumento da quantidade de cada linha no sql


Isso tem exatamente a mesma limitação que a resposta do WadimX, mas fará 100 linhas. Para produzir sua saída de exemplo, dada sua tabela de entrada (à qual me referirei como example ):
;WITH nums AS
   (SELECT 1 AS RowNum, Name, Amount
    FROM (SELECT Name, Amount FROM example) s
    UNION ALL
    SELECT RowNum + 1 As RowNum, Name, CAST(1.1*Amount AS INT) AS Amount
    FROM nums
    WHERE RowNum < 5) 
SELECT RowNum AS SNo, Name, Amount
FROM nums 
ORDER BY Name

SQLFiddle

Isso retorna 5 linhas para cada registro em example , você pode aumentar essa contagem alterando o RowNum < 5 para 100 ou quantos você quiser.

Saída
SNo    Name     Amount
-----------------------
1      A        1200
2      A        1320
3      A        1452
...    ...      ...