首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提取选择性记录

提取选择性记录
EN

Stack Overflow用户
提问于 2011-05-16 17:51:35
回答 2查看 678关注 0票数 0

我有一张这样的桌子:

代码语言:javascript
运行
复制
Table A             
Customer    InvoiceNo       Region  Type    Amount
A001        10001           Europe  FG      100
B001        10002           Asia    FG      200
C001        10003           America MISC    50
D001        10004           Asia    FG      300
A001        10005           Europe  MISC    20
C001        10006           America MISC    10
B001        10007           Asia    FG      300

我希望将Amount拆分为两列,即Sales_AmtMiscRegion不是必需的。我希望得到的结果应该如下所示:

代码语言:javascript
运行
复制
Customer    InvoiceNo       Type    Sales_Amt MISC
A001        10001           FG      100       0
B001        10002           FG      200       0
C001        10003           MISC    0         50
D001        10004           FG      300       0
A001        10005           MISC    0         20
C001        10006           MISC    0         10
B001        10007           FG      300       0 

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-16 18:00:21

这很简单:

代码语言:javascript
运行
复制
select
    Customer, 
    InvoiceNo, 
    Type, 
    decode(Type, 'MISC', 0, 1) * Amount as Sales_Amt, 
    decode(Type, 'MISC', 1, 0) * Amount as Misc
from
    TableA
;
票数 2
EN

Stack Overflow用户

发布于 2011-05-16 18:41:43

代码语言:javascript
运行
复制
Select Customer,InvoiceNo,Type,
        Case when TYPE!='MISC' Then amount Else 0 End as Sales_Amt,
        Case when TYPE='MISC' Then amount Else 0 End as Misc
From TabalA
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6015636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档