I Have 2 Tables which are
Papers
|ID | Paper_Code | Subject_Code |
| 0 | 2018/Eng/01| ENG |
| 1 | 2018/Eng/02| ENG |
| 2 | 2018/CS/01 | CS |
| 3 | 2018/Sci/01| Sci |
| 4 | 2018/Eng/03| ENG |
Subjects
|Subject_Code|Subject_Name|
|ENG |English |
|Sci |Science |
|CS |Computers |
I Achieved the following table which only shows the Max Paper_Code per Distinct Subject_Code by using this SQL CODE, which is what i wanted.
$sql = "SELECT Paper_Code FROM papers
WHERE(Subject_Code,Paper_Code)
IN(SELECT Subject_Code,MAX(Paper_Code)
FROM Papers GROUP BY Subject_Code)
";
|ID | Paper_Code | Subject_Code |
| 4 | 2018/Eng/03| ENG |
| 2 | 2018/CS/01 | CS |
| 3 | 2018/Sci/01| Sci |
Now I want to INNER JOIN The Subjects Table to give me results like this
|ID | Paper_Code | Subject_Code | Subject_Name |
| 4 | 2018/Eng/03| ENG | English |
| 2 | 2018/CS/01 | CS | Computers |
| 3 | 2018/Sci/01| Sci | Science |
I have tried this but failed
$sql = "SELECT Paper_Code FROM Papers
WHERE(Subject_Code,Paper_Code)
IN(SELECT Subject_Code,MAX(Paper_Code)
FROM Papers GROUP BY Subject_Code)
INNER JOIN Subjects
ON Papers.Subject_Code = Subjects.Subject_Code";