在Access SQL中标准化Firstname和Lastname

在Access SQL中标准化Firstname和Lastname,sql,vba,ms-access,Sql,Vba,Ms Access,希望你们在stack overflow中玩得开心 我有三列:FirstName、LastName和FullName 现在,我必须更新需要标准化的全名 假设有一些代理在订票时将FirstName和LastName混在一起,反之亦然。识别这些记录并使全名标准化 下面的图片将帮助你更好地理解我所说的 如何在Access中使用SQL更新该全名。(为MySQL和SQL Server等其他平台提供解决方案,我可以设法在Access中实现这些解决方案) 提前谢谢 嗯。。我认为这是有效的访问语法: UPDATE

希望你们在stack overflow中玩得开心

我有三列:FirstName、LastName和FullName

现在,我必须更新需要标准化的全名

假设有一些代理在订票时将FirstName和LastName混在一起,反之亦然。识别这些记录并使全名标准化

下面的图片将帮助你更好地理解我所说的

如何在Access中使用SQL更新该全名。(为MySQL和SQL Server等其他平台提供解决方案,我可以设法在Access中实现这些解决方案)

提前谢谢


嗯。。我认为这是有效的访问语法:

UPDATE yourTable
SET FULLNAME = (SELECT MAX(T2.FULLNAME)
                FROM yourTable T2
                WHERE yourTable.FIRSTNAME = T2.LASTNAME
                AND   yourTable.LASTNAME = T2.FIRSTNAME
                OR   (yourTable.FIRSTNAME = T2.FIRSTNAME
                AND   yourTable.LASTNAME = T2.LASTNAME))
这将只为任何不匹配选择一个可能的
FullName
值,但根据您的注释,这听起来像是您想要的


你能详细说明一下“标准化”是什么意思吗?应该假定
FullName
是正确的排列方式吗?FullName是正确的排列方式,我必须使用SQLName更新它。您如何知道哪条记录的名字/姓氏正确?到目前为止,我只是按照标题中提到的Firstname作为Firstname,lastname作为lastname。至少输出的准确度为70-80%。如果我能走那条路,
Vishnu
是姓还是名?我们怎么知道?我们怎样才能告诉数据库呢?或者你更关心的是把这两个记录改成一个,我们应该随机选择一个作为名字,然后假设任何匹配的记录都是这样的吗?谢谢Aaron!!access更新查询中的子查询将不起作用。我对您的查询进行更改。这对我很有效。@HarshaVardhan很酷,很高兴它至少帮助你达到了目的