如果关键字出现在另一个参考表中,我有两个表需要比较和更新一个表中的值。
A 是一个数据表,其中包含具有最后一个名字的单独字段的个人列表。
B 是另一个参考表,其中包含具有姓氏和名字的个人的已定义列表。
我正在Access中编写一个更新查询来检查表A中的个体,看它们是否列在表B中,并更新A中的字段以指示它们是否列在表B中。我正在使用如果两个表中的姓氏和名字相同的标准,则匹配就足够了。问题是名称字段表A可能包含不在引用表B中的附加信息(例如标题或凭证),参考表B仅列出名字和姓氏。我无法控制表A中的数据,但需要尽可能基于类似标准进行连接。
我不确定如何在SQL中表达以下内容。我希望以下伪代码,解释我正在努力实现的目标:
UPDATE A
SET A.[isinB]=true
WHERE
A.[lastname] contains B.[lastname]
and
A.[firstname] contains B.[firstname]
示例:
A.[lastname] = SMITH MD PHD
A.[firstname] = JOHN M
B.[lastname] = SMITH
B.[firstname] = JOHN
在此示例中,我希望将其视为匹配项,并将A. [isinB]设置为true。
答案 0 :(得分:0)
在Access中,您可以进行通配符比较:
UPDATE A SET A.[isinB]=true
WHERE
B.[Firstname] Like "*" & A.[Firstname] & "*" AND B.[Lastname] Like "*" & B.[Lastname]
书挡" "的通配符指示Access在字段中的任何位置找到字符串" Like"参考文献,例如" JOHN"是在" JOHN M"将返回真实。您可能需要考虑仅指定第一个" ",具体取决于您的数据。