将电子邮件域与电子邮件地址匹配

时间:2015-12-14 23:54:11

标签: sql email ms-access ms-access-2010

我在MS Access 2010中有两个表A和表B. 表A包含客户数据,并有一个名为[电子邮件地址]的列,其中包含完整的电子邮件地址,如abc@gmail.com。 表B有一个名为Email_domain的列,其中包含域名(在'@'登录电子邮件之后。例如gmail.com或yahoo.com) 我需要一个SQL查询来从表A中提取与表B中的电子邮件域匹配的数据?

Table A
-------

Cust_Name   |   Email
___________________________________
Martin      |   martin@gmail.com

Hussey      |   hussey@yahoo.com

William     |   will@inbox.co

Table B
-------

Email_Domain
____________
gmail.com

inbox.co

1 个答案:

答案 0 :(得分:2)

最好的方法是使用子查询。

SELECT Cust_Name, Email
FROM TableA
WHERE Iif(InStr(Email, '@') > 0, Mid(Email, InStr(Email, '@') + 1), '') IN
   (SELECT Email_Domain FROM TableB)