我尝试使用谷歌搜索我不确定如何制定我的搜索。我搜索合并,合并,替换。欢迎提出任何其他建议或建议。我发现的结果不会替换A列的字段,但要么添加像colA field 'John'+" "+'Smith'
这样的值/字符串。这不是我想要的。我发现其他人有同样的问题,但没有正确答案here
concat function不是我想要的,因为它只添加值而不是替换它们。 (不确定它运行的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
我不想修改原始记录和表格设计。
提前谢谢你。
答案 0 :(得分:1)
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
Coalesce()
函数至少需要两个参数,并从这些值中返回第一个非空值。
另请注意,我们正在执行外部联接,以便我们拥有table1
的所有值,并尽可能地匹配来自table2
的值。如果您要将其更改为SELECT * ...
,则可能更具说明性。