首页 > 解决方案 > 将一个表格中的电子邮件地址与 1 列中的多个电子表格匹配

问题描述

我们有一个联系人数据库来指示联系人姓名、电子邮件地址(唯一)等。

我们收到了来自我们正在尝试匹配的供应商的联系人列表,以便我们可以发送适当的合同。

但是,我们从供应商处收到的联系人列表中的电子邮件地址列存储了多个电子邮件地址。(user1@company.com、user2@company.com 等)

我如何从我的内部联系人表查询到他们的工作表(我将导入到 sql),以便我可以将我的唯一电子邮件地址与他们的电子邮件列匹配,当它可能有多个电子邮件地址时?

标签: sqlsql-serversql-server-2014

解决方案


在这种情况下,您的电子邮件地址是给定的子字符串。

因此,您应该在您的电子邮件地址上使用 like 关键字,并在他们的电子邮件地址上使用内部连接。

在 Oracle 语法中:

select my.* 
  from contacts as my, contact_list as theirs
 where theirs.emailadresses like '%' || my.email || '%'

在 ANSI 中,我认为它类似于:

select my.* 
  from contacts as my join contact_list as theirs
 where theirs.emailadresses like '%' + my.email + '%' 

推荐阅读