SQL ORACLE:表重组

问题描述 投票:0回答:1

我希望以下面描述的方式合并数据:

我有一张桌子如下:

表:PTLANALYSIS

RENTALDATE
OUTBOUND,
INBOUND,
VEHICLE_SIZE,
COMPETITOR,
RATE;

我试图加载到标签中的数据:

RENTALDATE,
OUTBOUND,
INBOUND,
VEHICLE_SIZE,
LOLY,
KAY,
RATE;

现在LOLY和KAY假设在表格PTLANALYSIS中的“竞争者”栏目中。有人可以帮助我以适当的方式合并我的数据,输出应该看起来像这样......

Rental Date | OUTBOUND | INBOUND | VEHICLE_SIZE | COMPETITOR | RATE
12/28/2019    223          333        small         loly        33.5
12/28/2019    223          333        small         kay         33.5

目前它在我的csv中看起来像..

Rental Date  | OUTBOUND | INBOUND | VEHICLE_SIZE | lolyRATE   | KAYRATE 
12/28/2019       223         333          small      33.5          NULL     
12/28/2019       223         333          small      NULL          33.5     

提前致谢!

oracle
1个回答
1
投票

CSV文件中的大多数列都有固定目标。您需要评估LOLYRATE和KAYRATE以有条件地填充COMPETITOR和RATE。像这样的东西:

insert into PTLANALYSIS (
    RENTALDATE
    OUTBOUND,
    INBOUND,
    VEHICLE_SIZE,
    COMPETITOR,
    RATE
)
select 
    RENTALDATE,
    OUTBOUND,
    INBOUND,
    VEHICLE_SIZE,
    case when LOLYRATE is not null then 'loly' else 'kay' end as competitor,
    coalesce(LOLYRATE, KAYRATE) as rate
from ext_table
;

您还没有说过打算如何加载数据,但我已经假设了一个外部表,因为它允许您使用SQL,而SQL的一切都更容易。 Find out more

© www.soinside.com 2019 - 2024. All rights reserved.