Возврат указанной строки c с использованием смещения, опережения или запаздывания - PullRequest
0 голосов
/ 29 мая 2020

У меня две таблицы; #tempA и #tempB Я хочу объединить обе таблицы, соответствующие идентификаторам Student_id и Admit_date. Я хочу вернуть строку таблицы #tempB сразу после строки, которая соответствует student_id и дате допуска. В этом случае я хочу вернуть #tempB строки 2, строку 5 и строку 18. Я не могу заставить его работать.


tempA

Student_id  Admit_date
709652      2020-01-31 
709652      2019-10-09 
368671      2015-04-19 

tempB

Unique_id   Student_id  Admit date
1           709652      2020-01-31 
2           709652      2019-12-16 
3           709652      2019-12-04 
4           709652      2019-10-09 
5           709652      2019-10-07 
6           709652      2019-09-22 
7           709652      2019-09-21 
8           709652      2019-08-29 
9           709652      2019-08-01 
10          709652      2019-07-01 
11          709652      2019-06-24 
12          709652      2019-03-25 
13          709652      2019-03-14 
14          709652      2014-03-31 
15          709652      2016-06-23 
16          709652      2014-05-14 
17          368671      2015-04-19 
18          368671      2014-04-10 
19          368671      2014-04-01 
20          368671      2014-03-21

1 Ответ

0 голосов
/ 29 мая 2020

Вы можете использовать подзапрос:

SELECT a.Student_id , a.Admit_date,
    (   SELECT MIN( b.Admit_date)
        FROM tempB b
        WHERE b.Admit_date >= a.Admit_date
        AND a.Student_id = b.Student_id
    ) as Admit_date2

FROM tempA a
...