【发布时间】:2020-09-12 12:32:29
【问题描述】:
我需要帮助。如何获取两个单独表的最新记录? 表 1 是员工记录表,其中包含员工编号和员工姓名。 表 2 是包含员工编号、地址 1、地址 2、县、市、国家/地区、邮政编码和生效日期的地址表。
如何根据最近日期从两个表中获取最近的数据?
很遗憾,我的 SQL 不起作用。不知何故,我收到一个错误“'T3'附近的语法不正确”。我无法弄清楚那个不正确的语法是什么。请帮忙。谢谢!
SELECT T1.EmpNumber,
T1.EmpName,
T2.City,
T2.Country,
T2.EffDate
FROM EmployeeTable T1
LEFT OUTER JOIN AddressTable T2
ON T1.EmpNumber = T2.EmpNumber
AND T2.EffDate = (
SELECT EmpNumber,
MAX (EffDate) as RecentDate
FROM AddressTable
GROUP BY EmpNumber) T3 ON T1.EmpNumber = T3.EmpNumber AND T2.EffDate = T3.RecentDate
【问题讨论】:
-
请用您正在使用的数据库标记您的问题:sql-server、mysql、postgresql...?
-
AND T2.EffDate = ( SELECT EmpNumber, MAX(EffDate) as RecentDate ...您希望您的代码如何工作?您正在尝试测试与表的相等性。
标签: sql date join greatest-n-per-group