Фильтр даты с ситуацией SQL Server - PullRequest
0 голосов
/ 07 марта 2019

У меня есть 2 таблицы, где одна хранит историю записи следующим образом

CREATE TABLE Student
(
    StudentId INT,
    StudentName NVARCHAR(200)
)

CREATE TABLE StudentHist
(
    StudentHistId INT,
    BranchId INT,
    StudentId INT,
    ExitDate DATE
)

INSERT INTO Student 
VALUES (1, 'ABC'), (2, 'PQR')

INSERT INTO StudentHist 
VALUES (1, 1, 1, null), (2, 2, 1, '2016-01-01'),
       (3, 2, 2, '2017-01-01')

SELECT S.StudentName
FROM Student S 
INNER JOIN StudentHist SH ON S.StudentId = SH.StudentId
                          AND (SH.ExitDate IS NULL OR SH.ExitDate >= getdate())
                          AND SH.BranchId = 2

В настоящее время у меня есть запрос, который дает записи, где дата выхода равна нулю, мне нужно условие переключения, где он проверит, что дата равна нулю, и выполнит текущий код, если не получит последнее по гистиде и получит дату

https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=1036cec8a82566534665c89f7279ebcb

...