我有一个关于以表格形式获取数据的问题。我现在有一张只有一行的表,我只是想根据给定的逻辑增加数量。
1st row amount=1200, 2nd row amount=1320(1200+120), 3rd row amount=1452(1320+132)
逻辑是将先前金额加10%
我的桌子是
Sno - Name- Amount 1 - A - 1200
现在我想要这样的结果..
Sno - Name- Amount 1 - A - 1200 2 - A - 1320 3 - A - 1452
有人可以帮我吗,我找不到任何逻辑
这与WadimX的答案有完全相同的限制,但是它将执行100行。在给定输入表的情况下生成示例输出(我将其称为example):
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
这将为中的每个记录返回5行example,您可以通过更改RowNum < 5为100或更改为任意数量来增加计数。
RowNum < 5
100
输出
SNo Name Amount ----------------------- 1 A 1200 2 A 1320 3 A 1452 ... ... ...