すべてのスキルを選択し、従業員とコンピテンシーのレコードを結合するクエリを作成するのに問題がありますが、従業員ごとに最新のスキルであるスキルを1つだけ返します。このサンプルデータセットの使用
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
しかし、selectステートメントにフィールドを追加したり、結合を追加したりすると、集計関数にもGROUP BY句にも含まれていないため、選択リストで「列」xyzが無効になります。エラー。
どんな助けでもありがたいです、そして私はGROUPBYを使う必要はありません、それは私が精通しているものです。