SQL查询最大日期和其他表中的一些字段

标签 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

表:B

    ID    |  Tags
_______________________
1         | Company A
2         | Company A
3         | Company C
4         | Company D

结果表:

Tags        |   Date
____________________________
Company A   | 11-13-2013
Company C   | 11-13-2013
Company D   | 11-11-2013

我已经尝试过这个 GROUP BY with MAX(DATE)但没有成功,我做了一些内部联接和子查询,但未能产生输出。

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

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

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

谢谢!

最佳答案

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

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

关于SQL查询最大日期和其他表中的一些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19949079/

相关文章:

c - 无法从数组输出正确的最大值和最小值

sql - 如何在 SQL 查询 where 子句中指定多个值?

c# - 将 SQL(左外连接)转换为 LINQ

date - SPARQL 日期转换

MYSQL 左连接相关表

ios - CoreBluetooth 上的最大外围设备数量?

mysql - 动态外键 - 如何实现?

sql - 显示完整的列名称而不是缩短的

php - Mysql日期范围查询只检查日期,不检查月份和年份

date - JIRA JQL 按日期搜索 - 有没有办法获取 Today()(日期)而不是 Now()(日期时间)