我有两个表,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
结果
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/