Sql server MS SQL将A列与B列合并,将A的值替换为B,除非';s空

Sql server MS SQL将A列与B列合并,将A的值替换为B,除非';s空,sql-server,Sql Server,我试着在谷歌上搜索这个,但我不太确定如何进行搜索。我搜索合并、合并、替换。欢迎提出任何其他建议或建议。我发现的结果并没有替换A列的字段,而是添加了两个值/字符串,比如colA字段“John”+“+”Smith“。这不是我要找的。我发现其他人有同样的问题,但没有正确的答案 这不是我想要的,因为它只是添加值,而不是替换值。(不确定它在哪个版本的SQL中工作) 有这个: table1 id row text row1 1 1 AAA row2 1 2

我试着在谷歌上搜索这个,但我不太确定如何进行搜索。我搜索合并、合并、替换。欢迎提出任何其他建议或建议。我发现的结果并没有替换A列的字段,而是添加了两个值/字符串,比如
colA字段“John”+“+”Smith“
。这不是我要找的。我发现其他人有同样的问题,但没有正确的答案

这不是我想要的,因为它只是添加值,而不是替换值。(不确定它在哪个版本的SQL中工作)

有这个:

table1 id row text row1 1 1 AAA row2 1 2 BBB row3 1 3 CCC row4 1 4 DDD row5 2 1 aaa row6 2 2 bbb table2 id row text row1 1 1 AAA row2 1 3 CCCCC row3 2 1 aaa row4 2 2 bbbbb Display id row text row1 1 1 AAA row2 1 2 BBB row3 1 3 CCCCC row4 1 4 DDD row5 2 1 aaa row6 2 2 bbbbb 表1 id行文本 第1排AAA 第2排BBB 第3排1 3 CCC 第4行第1 4 DDD行 第5排2 1 aaa 第6排2 bbb 表2 id行文本 第1排AAA 第2 1 3行CCCCC 第3排2排1 aaa 第4排2 BBB 所需结果:

table1 id row text row1 1 1 AAA row2 1 2 BBB row3 1 3 CCC row4 1 4 DDD row5 2 1 aaa row6 2 2 bbb table2 id row text row1 1 1 AAA row2 1 3 CCCCC row3 2 1 aaa row4 2 2 bbbbb Display id row text row1 1 1 AAA row2 1 2 BBB row3 1 3 CCCCC row4 1 4 DDD row5 2 1 aaa row6 2 2 bbbbb 展示 id行文本 第1排AAA 第2排BBB 第3行1 3 CCCCC 第4行第1 4 DDD行 第5排2 1 aaa 第6排2 BBB 我不想修改原始记录和表格设计

先谢谢你

SELECT table1.id
     , table1.row
     , Coalesce(table2.text, table1.text) As text
FROM   table1
 LEFT
  JOIN table2
    ON table2.id  = table1.id
   AND table2.row = table1.row
该函数至少接受两个参数,并从这些值返回第一个非空值

还要注意,我们正在执行一个外部联接,这样我们就有了
表1
中的所有值,并且在可能的情况下,我们可以与
表2
中的值进行匹配。如果要将其更改为
选择*