I seek SQL that will show the course name for each person.
SELECT * FROM person_course
| person | course | course_version_number |
|---|---|---|
| 1 | BA101 | 1 |
| 2 | BA201 | 1 |
| 3 | BA221 | 2 |
| 4 | BA101 | 1 |
| 5 | BA101 | 1 |
| 6 | BA221 | 1 |
| 7 | BA201 | 2 |
| 8 | BA221 | 2 |
| 9 | BA221 | 2 |
SELECT * FROM course
| course | course_name | course_version_number |
|---|---|---|
| BA101 | AA | 1 |
| BA201 | BB | 1 |
| BA201 | CC | 2 |
| BA221 | DD | 1 |
| BA221 | EE | 2 |
Is the query below correct?
SELECT person_course.person, course.course_name
FROM person_course
INNER JOIN course on person_course.course=course.course
AND course on person_course. course_version_number = course .course_version_number ;
Can I use an INNER JOIN condition with AND? The SQL query logic should derive a combination of course & course_version_number to find the name of course against person.