Я пытаюсь выяснить, как выполнить запрос на пересылку на сервере 2008r2. Вот основная структура таблицы посещений. Есть и другие поля, но я думаю, что это будет полезно. Одна из проблем заключается в том, что некоторые из них могут быть переносами вместо разрядов, которые у меня нет простого способа вывести, но на этот раз эту проблему можно игнорировать. Я попробовал себя в этом, но, я думаю, мое понимание SQL требует больше работы. Я попытался найти любую информацию, которую я мог бы сделать в Интернете, но ни один из вопросов не привел меня к полезному выводу, или я просто не понял. Мы ценим любые предложения.SQL - Как запросить повторные регистрации в TSQL?
РЕДАКТИРОВАТЬ: Ревитация - если пациент возвращается в течение 30 дней после предыдущей разрядки.
+---------+--------+-----------------+-----------------+
| VisitID | UID | AdmitDT | DischargeDT |
+---------+--------+-----------------+-----------------+
| 12 | 2 | 6/17/2013 6:51 | 6/17/2013 6:51 |
| 16 | 3 | 6/19/2013 4:48 | 6/21/2013 13:35 |
| 18 | 3 | 6/11/2013 12:08 | 6/11/2013 12:08 |
| 21 | 3 | 6/12/2013 14:40 | 6/12/2013 14:40 |
| 22 | 3 | 6/13/2013 10:00 | 6/14/2013 12:00 |
| 25 | 2 | 6/11/2013 16:13 | 6/11/2013 16:13 |
| 30 | 1 | 6/20/2013 8:35 | 6/20/2013 8:35 |
| 31 | 7 | 6/13/2013 6:12 | 6/13/2013 6:12 |
| 34 | 3 | 6/12/2013 8:40 | NULL |
| 35 | 1 | 6/12/2013 8:52 | NULL |
| 38 | 2 | 6/12/2013 10:10 | 6/12/2013 10:10 |
+---------+--------+-----------------+-----------------+
Попытка Код:
SELECT N2.*
FROM visitTable AS N1
INNER JOIN
visitTable AS N2 ON N1.UID = N2.UID
WHERE N1.EncounterID <> N2.EncounterID AND (N2.AdmitDT BETWEEN N1.DischargeDT and DATEADD(DD,30, N1.DischargeDT))
Как вы определяете повторный прием? – Szymon
@ Шимон повторное признание, если пациент (UID) возвращается в течение 30 дней после их предыдущего посещения. – Dre