【发布时间】:2017-06-09 10:46:28
【问题描述】:
我有一个包含以下列和值的表格。
Name Rate Kind NoOfItems TotalAmount
---- ---- ---- --------- -----------
ABC 1 O 50 50
ABC 2 A 10 20
(*) 表有 N 个名字,种类是 O 或 A
我必须将上面的表格数据按如下方式输出到每个名称的一行中。
Name O_Rate A_Rate O_Items A_Items O_Amount A_Amount TotalItems TotalAmount
---- ------ ------ ------- ------- -------- -------- ---------- -----------
ABC 1 2 50 10 50 20 60 70
如何使用单个查询根据预期输出转换上述表格数据。我尝试过使用 Case 和 Decode,但在这两种情况下我只得到两行。
提前致谢。
【问题讨论】:
-
TotalAmount 是什么数据类型?在 Oracle 中 50$ 不存在,除了可能作为字符串 ('50$') 之外。如果是字符串,是否应该在添加值之前将其解释为美元金额?
-
@mathguy TotalAmount 字段的类型为 number(10),我在示例中添加的 $ 符号仅用于表示目的。