У меня 2 стола. В таблице lab_obs записываются результаты тестирования пациента на covid. В таблице «лекарства» содержатся записи обо всех лекарствах, принимаемых всеми пациентами (независимо от того, прошли ли они тестирование). Вот упрощенная схема:
CREATE TABLE lab_obs (ob_day DATE,
ob VARCHAR(20),
patient_id VARCHAR(20)
);
CREATE TABLE medications (given_day DATE,
med VARCHAR(20),
patient_id VARCHAR(20)
);
INSERT INTO lab_obs VALUES ('2020-03-01', 'positive', 'p11');
INSERT INTO lab_obs VALUES ('2020-05-01', 'negative', 'p11');
INSERT INTO lab_obs VALUES ('2020-03-02', 'negative', 'p12');
INSERT INTO lab_obs VALUES ('2020-06-01', 'negative', 'p11');
INSERT INTO lab_obs VALUES ('2020-06-01', 'negative', 'p12');
INSERT INTO medications VALUES ('2020-03-05', 'covid_med_11', 'p11');
INSERT INTO medications VALUES ('2020-03-05', 'non_covid_med_12', 'p12');
INSERT INTO medications VALUES ('2020-02-05', 'non_covid_med_11', 'p11');
INSERT INTO medications VALUES ('2020-04-05', 'non_covid_med_41', 'p41');
Я хочу написать SQL, который даст мне (идентификатор_палента, med) для пациентов с положительным результатом и впоследствии отрицательным, а также все лекарства, принимаемые в период между положительный тест и последующий отрицательный тест. По сути, запрос должен дать мне все лекарства, которые принимали пациенты, выздоровевшие от Covid !!