我正在使用 SQL 合并并尝试将两个表合并到一个表中。
基本上,有三个名为:t1、t2、t3 的表。我正在尝试做的是使用合并将 t2 表数据和 t3 表数据放入 t1 表中。
这是代码:
MERGE
daily_so_invoice AS target1
USING
temp_invoice AS source1 ,temp_so_invoicedetail AS source2
ON
target1.invoice_id = RIGHT('00000000'+ CONVERT(VARCHAR,source1.invoice_instance_id),8) and
target1.LineKey<>'9999' and
RIGHT('0000000'+CONVERT(VARCHAR,source1.invoice_instance_id),7) = RIGHT('0000000'+CONVERT(VARCHAR,source2.invoice_instance_id),7)
WHEN MATCHED THEN
UPDATE
SET
target1.batchno = upper(RIGHT('00'+CONVERT(VARCHAR,DAY(source1.billing_date)),2) + left(datename(month, source1.billing_date), 3))
WHEN NOT MATCHED THEN
insert
(
invoice_id,
LineKey,
item_unit_price ,
invoiced ,
batchno ,
item_name ,
item_description ,
quantity
)
VAlUES
(
RIGHT('00000000'+CONVERT(VARCHAR,source2.invoice_instance_id),8),
RIGHT('0000'+CONVERT(VARCHAR,source2.linekey),4),
source2.item_unit_price ,
'N' ,
upper(RIGHT('00'+CONVERT(VARCHAR,DAY(source1.billing_date)),2) + left(datename(month, source1.billing_date), 3)),
'/'+source2.item_name ,
source2.item_description ,
source2.quantity
);
我在以下行遇到错误:
USING
temp_invoice AS source1 ,temp_so_invoicedetail AS source2
使用两个表时如何进行合并?