我有一个查找表,名称,包含名称和性别列。性别列的值可以是{男,女,未知,-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');