SQL Query MAX日期和其他表中的一些字段

Cod*_*eee 2 sql date max

我有两张桌子,比如A和B.

表:A

ID_Sender |  Date     
________________________
   1      | 11-13-2013
   1      | 11-12-2013

   2      | 11-12-2013
   2      | 11-11-2013

   3      | 11-13-2013
   4      | 11-11-2013
Run Code Online (Sandbox Code Playgroud)

表:B

    ID    |  Tags
_______________________
1         | Company A
2         | Company A
3         | Company C
4         | Company D
Run Code Online (Sandbox Code Playgroud)

结果表:

Tags        |   Date
____________________________
Company A   | 11-13-2013
Company C   | 11-13-2013
Company D   | 11-11-2013
Run Code Online (Sandbox Code Playgroud)

我已经用MAX(DATE)尝试了这个GROUP BY但是没有运气就失败了,我做了一些内部连接和子查询但是没能产生输出.

这是我到目前为止的代码,以及附加输出的图像.

SELECT E.Tags, D.[Date] FROM 
        (SELECT A.ID_Sender AS Sendah, MAX(A.[Date]) AS Datee
        FROM tblA A
        LEFT JOIN tblB B ON A.ID_Sender = B.ID
        GROUP BY A.ID_Sender) C
    INNER JOIN tblA D ON D.ID_Sender = C.Sendah AND D.[Date] = C.Datee
    INNER JOIN tblB E ON E.ID = D.ID_Sender
Run Code Online (Sandbox Code Playgroud)

有什么建议?我已经拉出了我的头发!(也许你们可以给我一些有用的sql概念,答案不是必要的因为我真的很想自己解决它:))

谢谢!

Tim*_*ter 5

SELECT Tags, MAX(Date) AS [Date]
FROM dbo.B INNER JOIN dbo.A
  ON B.ID = A.ID_Sender
GROUP BY B.Tags
Run Code Online (Sandbox Code Playgroud)

Demo

结果

Company A   November, 13 2013 00:00:00+0000
Company C   November, 13 2013 00:00:00+0000
Company D   November, 11 2013 00:00:00+0000
Run Code Online (Sandbox Code Playgroud)

  • 你给了我的答案..我正在编写相同的查询,但是当我点击加载答案时提交...你的答案就在那里..所以赞成这个 (3认同)