我在编写查询时遇到问题,该查询将选择所有技能,加入员工和能力记录,但每个员工只返回一项技能,即他们的最新技能。使用此示例数据集
Skills
======
id employee_id competency_id created
1 1 1 Jan 1
2 2 2 Jan 1
3 1 2 Jan 3
Employees
===========
id first_name last_name
1 Mike Jones
2 Steve Smith
Competencies
============
id title
1 Problem Solving
2 Compassion
我想检索以下数据
Skill.id Skill.employee_id Skill.competency_id Skill.created Employee.id Employee.first_name Employee.last_name Competency.id Competency.title
2 2 2 Jan 1 2 Steve Smith 2 Compassion
3 1 2 Jan 3 1 Mike Jones 2 Compassion
我能够选择使用创建的employee_id和max
SELECT MAX(created) as created, employee_id FROM skills GROUP BY employee_id
但是,当我开始在选择语句中添加更多字段或添加连接时,我得到“列 'xyz' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。” 错误。
任何帮助表示赞赏,我不必使用 GROUP BY,这正是我所熟悉的。