【发布时间】:2018-02-11 09:18:19
【问题描述】:
我有 3 张桌子。我需要按列 RANKDATA 从(DATA 表)加入(AGENT 表)。 DATA 表中可能有多个条目。我需要根据 DATE 选择最近的,然后获取 CODE_ID 并加入 CODE 表。
这是我的代码。我尝试使用Max(D.DATE),但出现错误。我唯一的问题是,我不知道如何按最近的日期对其进行分组。
select A.ID, A.NAME, C.CODE_NAME, D.DATE
from Agent A
JOIN Data D ON A.RANKDATA = D.RANKDATA
JOIN CODE C ON D.CODE_ID = C.CODE_ID
【问题讨论】:
-
这里的大多数人想要格式化的文本,而不是图像(或者,更糟糕的是,图像的链接。)并且不需要像那样使用大写。
-
你在用什么rdbms?
-
Max(D.DATE)是一个好的开始。在查询末尾添加GROUP BY the other selected columns。 -
我使用 sql server
-
我尝试使用 max() 但我收到此错误“在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中”
标签: sql sql-server join group-by