无法使用插入语句执行合并(用于会计流程)
表 1 包含用于核销的 GRList(基于表 3 上的日期)
表 2 包含所有 GR 详细信息(从 2010 年 1 月 1 日至今的所有信息)
表 3 包含最早的索赔日期(例如:2018 年 4 月 1 日)
因此从上述场景中,最早的索赔日期(例如:2018 年 4 月 1 日)从表 3 中获取,然后在表 2 中搜索提取日期之前的 GR(<= 2018 年 4 月 1 日)并填充表 1 中的记录(从 2010 年 1 月 1 日到 2018 年 3 月 31 日)
在 SQL 中尝试的代码
MERGE Table1 As Target
Using (select column1, column2 From Table2 AS tbl2 INNER JOIN Table3 as tbl3
ON tbl2.column1 = tbl3.column1
WHERE
tbl2.column1 = tbl3.column1 AND tbl2.column2 = tbl3.column2) AS SOURCE
ON
(Target.Column1 = Source.Column1 AND Target.Column2 = Source.Column2 AND Target.Column5 <= Source.Column5 )
WHEN MATCHED AND
Target.Column1 = Source.Column1 AND Target.Column2 = Source.Column2
THEN UPDATE SET Target.Column4='Updated'
WHEN NOT MATCHED BY TARGET
THEN INSERT
(Column1, Column2, Column3)
VALUES
(Source.Column1, Source.Column2, Source.Column3)
错误
消息 248,级别 16,状态 1,第 23 行 nvarchar 值“3000143371”的转换溢出了一个 int 列。该语句已终止。