Извлечь выборочные записи - PullRequest
0 голосов
/ 16 мая 2011

У меня есть такая таблица:

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 на 2 столбца, а именно Sales_Amt & Misc. Region не требуется. Результат, который я хочу получить, должен выглядеть следующим образом:

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 

Спасибо.

Ответы [ 2 ]

2 голосов
/ 16 мая 2011

Все довольно просто:

select
    Customer, 
    InvoiceNo, 
    Type, 
    decode(Type, 'MISC', 0, 1) * Amount as Sales_Amt, 
    decode(Type, 'MISC', 1, 0) * Amount as Misc
from
    TableA
;
0 голосов
/ 16 мая 2011
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...