我在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
答案 0 :(得分:2)
最好的方法是使用子查询。
SELECT Cust_Name, Email
FROM TableA
WHERE Iif(InStr(Email, '@') > 0, Mid(Email, InStr(Email, '@') + 1), '') IN
(SELECT Email_Domain FROM TableB)