SQL查询组合两个用户表,删除重复项并查找每个用户的最新更新项

SQL查询组合两个用户表,删除重复项并查找每个用户的最新更新项,sql,inner-join,user-defined-functions,Sql,Inner Join,User Defined Functions,我有两个SQL表。TableA有一个活动用户列表,TableB有一个用户通过电子邮件提交的所有帮助通知单列表和提交日期 我需要输出表a和表B中存在的用户列表(不包括表B中的用户)以及他们提交的最后一个帮助票证的日期。这是因为几个用户已从active users表中删除,但他们的帮助票证仍保留在第二个表中 表字段: eUser eUserName, eEmailAddress Work_Orders txtContactEmail, SubmitDate Desired output: eU

我有两个SQL表。TableA有一个活动用户列表,TableB有一个用户通过电子邮件提交的所有帮助通知单列表和提交日期

我需要输出表a和表B中存在的用户列表(不包括表B中的用户)以及他们提交的最后一个帮助票证的日期。这是因为几个用户已从active users表中删除,但他们的帮助票证仍保留在第二个表中

表字段:

eUser
eUserName, eEmailAddress

Work_Orders
txtContactEmail, SubmitDate


Desired output:
eUserName, eEmailAddress, SubmitDate
我的尝试

SELECT   eUser.eUserName
       , eUser.eEMailAddress
       , Work_Orders.txtContactEmail
       , max(Work_Orders.dtRequest) lastupdate 
FROM eUser inner join Work_Orders 
on eUser.eEMailAddress = Work_Orders.txtContactEmail 
group by eUser.eUserName
       , eUser.eEMailAddress
       , Work_Orders.txtContactEmail

但是,此查询运行时会返回表A和表B中存在的用户。我需要排除仅存在于表B中的用户。@GrimPython我不理解您的评论。表A是活动用户的列表。表B是帮助票的列表。许多用户已从TableA中删除,但他们的帮助票证未从表B中删除。我不想看到表B中已从TableA中删除的用户。@GrimPython,他们不会显示,因为这是一个
内部联接
是的,这是不正确的。可能发生的情况是,表A中有多个用户具有相同的电子邮件地址,因此复制了您的一些结果。@M.Ali,感谢您的帮助格式化,我似乎还没有掌握其中的诀窍。谢谢我花了一些时间才明白它是如何工作的。添加文本后,选择文本并单击格式选项卡中的
[]
。)
SELECT  A.eUserName,
        A.eEmailAddress,
        B.MaxSubmitDate
FROM TableA AS A
INNER JOIN (SELECT txtContactEmail, MAX(SubmitDate) MaxSubmitDate
            FROM TableB
            GROUP BY txtContactEmail) AS B
    ON A.eEmailAddress = B.txtContactEmail