Мне нужно объединить две таблицы с соответствующими двумя столбцами
- Stu_id (Таблица 1) - Stu_id (Таблица 2)
- Perf_yr (Таблица 1) - yr_month (Таблица 2) )
perf_yr
начинается каждый год с сентября по август. Perf_yr
должно соответствовать yr_month
на основе Perf_yr
начала и конца месяца
Таблица 1
Stu_id Roll_No Avg_marks Perf_yr
1 100244 72 2017
2 200255 62 2018
3 100246 68 2019
Таблица 2
Stu_id Subject Marks yr_month
1 Maths 70 201609
1 Science 69 201701
1 Social 74 201712
2 Maths 60 201709
2 Science 61 201801
2 Social 62 201808
3 Maths 65 201810
3 Science 64 201912
3 Social 72 201902
Вывод
Stu_id Roll_No Avg_marks Perf_yr Subject Marks yr_month
1 100244 72 2017 Maths 70 201609
1 100244 72 2017 Science 70 201701
2 200255 62 2018 Maths 60 201709
2 200255 62 2018 Science 61 201801
2 200255 62 2018 Social 62 201808
3 100246 68 2019 Maths 65 201810
3 100246 68 2019 Science 64 201912
3 100246 68 2019 Social 72 201902
Я ПЫТАЛСЯ:
SELECT A.*, B.* FROM
(SELECT * FROM TABLE1 )A
LEFT JOIN
(SELECT * FROM TABLE)B
ON
A.Stu_id = B.Stu_id
AND
A.Perf_yr = B.Yr_Month
НО ЭТО НЕ ПОЛУЧИТ ЖЕЛАЕМЫЙ РЕЗУЛЬТАТ, ПОТОМУ ЧТО СОСТОЯНИЕ НЕ СООТВЕТСТВУЮЩАЯ ИДЕАЛЬНОЙ ДАТЕ НАЧАЛА И КОНЦА.