Sql 如何比较两个表并在比较后在表A中插入值

Sql 如何比较两个表并在比较后在表A中插入值,sql,sql-server,tsql,Sql,Sql Server,Tsql,如果表B中有任何额外值,我需要比较两个表,如果有,则应将其插入表a中 如何以最有效的方式做到这一点 表A Column A Column B Column Flag Maths John Y Science John Y English George Y 表B Column A Column B Maths John Science John English George Japanese George 最有效的方法是什么?你的

如果表B中有任何额外值,我需要比较两个表,如果有,则应将其插入表a中

如何以最有效的方式做到这一点

表A

Column A Column B  Column Flag
Maths      John     Y
Science    John     Y
English  George     Y
表B

Column A  Column B
Maths      John
Science    John
English  George
Japanese George

最有效的方法是什么?你的尝试有什么无效之处?如果从
B
A
中插入了
'Japanese',则该行的
标志的值是多少?是否要比较表
A
B
,或者是否有其他表要与
B
进行比较?如何处理单个表中的重复行?嘿,loldude,谢谢你的回答。请阅读。虽然你的代码可能会回答这个问题,但好的帖子会解释为什么/如何解决这个问题。
with cte as(
Select B.*
From TableB B
Left Join TableA A
    On A.[Column A] = B.[Column A]
    And A.[Column B] = B.[Column B]
Where NULLIF(A.[Column A], '') Is Null)

Insert Into TableA([Column A], [Column B], [Column Flag])
Select*, null -- or assign whatever value you want to column 3
From cte