【发布时间】:2015-09-01 15:44:17
【问题描述】:
我正在努力将总金额字段拆分为同一行中的百分比,然后使用应用百分比的金额类型更新最后一列。
示例数据
Total Amount | UF% | UFI% |RA% |RL% |NP% | AmountType
100 |0.00 |20 |9.15 |0.75 |70.01
1520.23 |64.4 |19.1 |15.5 |0.25 |0.75
158520.03|13.25 |35 |2.25 |19.28 |30.22
我必须获得总金额列的百分比,然后将它们作为附加行插入到同一个表中,并更新最后一列是什么类型的金额。
例如对于第一行,我可以获得 5 个新行
Total Amount Amount type
0 UF%
20 UFI%
9.15 RA%
0.75 RL%
70.01 NP%
我一步一步创建了 5 个新列来计算百分比,如 TotalAmount UF%、TotalAmount UFI%、TotalAmountRA% 等等…… 选择 [TotalAmount]* UF% 为 [TotalAmount UF%] ... 等等。
我被困在这里,我应该使用 Pivot/unpivot 吗?还是案例? 或者还有其他更简单的方法来使用 row over partition by 吗?
请提出建议。
【问题讨论】:
-
在提供的数据样本中有 7 个标题和 6 列。第 7 列应该包含什么?
-
@Paolo 我认为只是一个参考,每一列都是
AmountType,正如您在 OP 预期结果中看到的那样 -
现在我注意到了。格式化确实很有帮助^^
-
顺便说一句。你想要
TotalAmount*AmountType%?因为有一个 TotalAmount =100 的示例可能会令人困惑。不知道你要不要AmountType% -
第7列(AmountType%)为空,需更新金额类型UF、UFI...等
标签: sql sql-server