我正在尝试从 SQL for Access 的列中提取多个日期。我收到错误代码,指出我的语法后有字符

分享于2023年02月15日 mysql 问答
【问题标题】:I am trying to pull multiple dates from a column in SQL for Access. I am getting error code that there are characters after my syntax我正在尝试从 SQL for Access 的列中提取多个日期。我收到错误代码,指出我的语法后有字符
【发布时间】:2023-02-07 23:57:49
【问题描述】:
SELECT [P-EmpList].LastName, [P-EmpList].FirstName, ProjectCrewAllocation.SAPID, ProjectCrewAllocation.To, ProjectCrewAllocation.IntProj
FROM [P-EmpList] INNER JOIN ProjectCrewAllocation ON [P-EmpList].SAPID = ProjectCrewAllocation.SAPID

SELECT CONCAT (LastName, '', FirstName) AS 'Tech Name',
MAX (To) As 'Most Recent Date'
FROM ProjectCrewAllocation
GROUP BY LastName, FirstName
ORDER BY 'Most Recent Date' DESC;

我无法弄清楚如何提取员工的姓名以及他们执行工作的最新日期。每个员工有多个字段,我只想要最近的一行。


【解决方案1】:

尝试以下查询:

    SELECT [P-EmpList].LastName, [P-EmpList].FirstName, ProjectCrewAllocation.SAPID, ProjectCrewAllocation.To, ProjectCrewAllocation.IntProj
FROM [P-EmpList] 
INNER JOIN (
  SELECT SAPID, MAX(To) As To
  FROM ProjectCrewAllocation
  GROUP BY SAPID
) AS ProjectCrewAllocation ON [P-EmpList].SAPID = ProjectCrewAllocation.SAPID

此查询使用子查询查找每个 SAPID 的最新截止日期。然后外部查询将此信息与 [P-EmpList] 表连接起来,以显示员工姓名和最近日期。

【讨论】: