# 案例：Merge Into can't be shipped in the scene temporarily
#### 问题根因
MERGE INTO语句的USING子句部分还有非列表达式。
**处理方案**：改写SQL，去除非列表达式。
#### 案例1：子查询d中的WHERE条件含有AND 1 = 2
**原始语句**
```
MERGE INTO dwifin.dwi_bill_pay_interface_line l
USING (SELECT to_number(ss_id || invoice_id) as ap_invoice_id,
              to_number(ss_id || invoice_line_id) as credit_invoice_line_id,
              line_number,
              nvl(deleted_flag, 'N') AS src_sys_del_flag
         FROM sdifin.apwf_pay_interface_line_t_6600 t
        WHERE t.adjust_type = 'Y' AND 1 = 2) d
ON (l.ap_invoice_id = d.ap_invoice_id AND l.credit_invoice_line_id = d.credit_invoice_line_id AND l.line_number = d.line_number AND l.src_sys_del_flag = d.src_sys_del_flag AND l.ss_id = 6600
)
WHEN MATCHED THEN UPDATE SET l.del_flag = 'Y', last_upd_cycle_id = 20250301000000;
```
**规避方案**：这种情况一般属于SQL语句书写错误，去掉条件"AND 1 = 2"即可。
```
MERGE INTO dwifin.dwi_bill_pay_interface_line l
USING (SELECT to_number(ss_id || invoice_id) as ap_invoice_id,
              to_number(ss_id || invoice_line_id) as credit_invoice_line_id,
              line_number,
              nvl(deleted_flag, 'N') AS src_sys_del_flag
         FROM sdifin.apwf_pay_interface_line_t_6600 t
        WHERE t.adjust_type = 'Y' ) d
ON (l.ap_invoice_id = d.ap_invoice_id AND l.credit_invoice_line_id = d.credit_invoice_line_id AND l.line_number = d.line_number AND l.src_sys_del_flag = d.src_sys_del_flag AND l.ss_id = 6600
)
WHEN MATCHED THEN UPDATE SET l.del_flag = 'Y', last_upd_cycle_id = 20250301000000;
```
**修改点对比**
![](https://support.huaweicloud.com/devg-dws/figure/zh-cn_image_0000002526310177.png "点击放大")
