0

我有这个查询。

MERGE sales.category t 
    USING sales.category_staging s
ON (s.category_id = t.category_id)
WHEN MATCHED
    THEN UPDATE SET 
        t.category_name = s.category_name,
        t.amount = s.amount
WHEN NOT MATCHED BY TARGET 
    THEN INSERT t(category_id, category_name, amount)
         VALUES select s.category_id, s.category_name, s.amount from s
WHEN NOT MATCHED BY SOURCE 
    THEN DELETE;

如何在合并语句中将插入与从其他表中选择一起使用?

4

2 回答 2

0

你不会的。您已经定义,因此您可以在子句S中引用这些列。VALUES您也不要将目标表的别名放在目标列之前:

    THEN INSERT (category_id, category_name, amount)
         VALUES (s.category_id, s.category_name, s.amount)
于 2021-03-15T16:14:50.883 回答
-1

可能对您使用其他表的要求有所帮助。

您可以将连接用作源,然后也可以将其用于插入。

于 2021-03-15T16:39:57.510 回答