根据另一列上的最佳匹配结果更新表列

时间:2016-02-27 20:22:27

标签: mysql sql regex join

我有一个查找表,名称,包含名称和性别列。性别列的值可以是{男,女,未知,-1}。 还有另一个客户表,其中包含一些名称。它还有一个性别列,必须通过查找“' name”来更新。 名称表的列。只需要选择符合价值=男性或女性的性别。对于unknown和-1,我设置了gender = NULL。

'名称'来自 customer 表的内容可能与 names 中的名称完全匹配,也可能不完全匹配。我能够根据完全匹配的名称更新性别。但是,对于不完全匹配的名称,我想进行最佳匹配查找,然后更新它。这可以使用查询吗?

以下是我用来获取完全匹配名称的查询:

update customer
 inner join names ON (customer.name= names.name)
 set gender= names.gender
where gender in ('Male','Female');

0 个答案:

没有答案
相关问题