Sql: Найти сумму столбца из второй таблицы, используя дату из первой таблицы - PullRequest
0 голосов
/ 01 февраля 2020

Я изо всех сил пытался создать запрос, который вычисляет сумму столбца с именем 'TIDAL_VOLUME' относительно значения даты, полученного из другой таблицы.

См. Содержание таблицы_1: Content of the Table_1

См. Содержание таблицы_2: Content of the Table_2

Примечание: TIDAL_VOLUME также может иметь значение NULL.

Теперь время начала для значения O2_Device 'Endotracheal tube' равно '2013-08-06 08:10:05' для тех же HADM_ID и SUBJECT_ID. и время окончания - всякий раз, когда приходит новое значение O2_Device. В данном случае это «носовая канюля». Это означает, что время начала для эндотрахеальной трубки равно 2013-08-06 08:10:05, а время окончания - 2013-08-06 10:15:05 для HADM_ID = 1 и SUBJECT_ID = 100.

Используя эти критерии времени начала и окончания, я должен искать TIDAL_VALUE в Таблице_2. В этом примере это 700, 800. Ответ для TIDAL_VOLUME - 1500.

Пожалуйста, посмотрите, что результат будет выглядеть следующим образом: Required Output

Заранее спасибо.

1 Ответ

2 голосов
/ 01 февраля 2020

Если вы можете добавить End_Time к первой таблице, вы можете использовать BETWEEN при присоединении к таблицам.

SELECT t1.HADM_ID, t1.Subject_ID, t1.ChartTime, SUM(t2.tidal_volume) AS tidal_volume
FROM Table_1 AS t1
JOIN Table_2 AS t2 
    ON t1.HADM_ID = t2.HADM_ID 
        AND t1.Subject_ID = t2.Subject_ID 
        AND t2.ChartTime BETWEEN t1.ChartTime AND t1.End_Time
GROUP BY t1.HADM_ID, t1.Subject_ID, t1.ChartTime
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...