【发布时间】:2020-09-03 08:09:58
【问题描述】:
我在下面有一个合并语句,我想添加一个条件,即如果 X_RECEIVED_ON_DT 为空,它将使用 FULFILLED_ON_DT 和 PO_CLOSED_DT 中的日期,它们是 TGT(目标表)中的列来填充 TGT.X_GAAP_EXCH_RATE_WID 列
MERGE
/*+ PARALLEL(8) */
INTO W_PURCH_COST_F TGT USING
(SELECT
/*+ PARALLEL(8) */
cost.INTEGRATION_ID,
cost.X_RECEIVED_ON_DT,
cost.LOC_CURR_CODE,
COALESCE(gaap.ROW_WID,0) X_GAAP_EXCH_RATE_WID
FROM W_Purch_Cost_F_3955 cost
JOIN W_DAY_D wday
ON TRUNC(cost.X_RECEIVED_ON_DT)=TRUNC(wday.CALENDAR_DATE)
LEFT OUTER JOIN WC_GAAP_EXCH_RATE_G gaap
ON gaap.PERIOD =wday.PER_NAME_ENT_PERIOD
AND cost.LOC_CURR_CODE =gaap.FROM_CURCY_CD
) SRC ON (TGT.INTEGRATION_ID = SRC.INTEGRATION_ID AND TGT.DATASOURCE_NUM_ID = 310)
WHEN MATCHED THEN
UPDATE SET TGT.X_GAAP_EXCH_RATE_WID = SRC.X_GAAP_EXCH_RATE_WID;
【问题讨论】: