我得到了两个表,它们共享一些列名和一些类似的行。我需要一个方法来比较行条目,并为一列中匹配的行插入从一个表到另一个表的值。描述我的问题的示例如下所示:
big table |small table
------------------------- |---------------------------
customer |address| | customer |address |
------------------------ | |------------------------------
John |123 Road | |customer John |123 Road
Jason |234 Dr | |shopper Jack |645 Pkway
Jack |Null | |customer Jones |789 Road
Jones |Null |小表可视为大表的数据源,它们包含相同的列名。我已经尝试过join方法,但是这个方法不太适合。不同的命名约定造成了问题。在本例中,customer名称位于大表中,包含在小表中的customer名称中。在上面的示例中,我想要实现的是,shopper Jack和customer Jones在小表中的地址可以插入到大表中的Jack和Jones地址中。我希望我的描述足够清楚。谢谢。
发布于 2019-11-20 05:34:52
用Update...from定位大表客户在小表客户中。
update big_table bt
set address = sm.address
from small_table sm
where bt.address is null
and position(bt.customer in sm.customer) > 0;但要非常谨慎,这不是一个好做法。将小型表客户分成2列会好得多。您还需要解决当两者都有客户的地址但它们是不同的时候会发生什么。还有多个同名的顾客。
https://stackoverflow.com/questions/58946934
复制相似问题