У меня есть таблица госпитализаций и вы должны подсчитывать прием пациентов по типу записи для типов взрослых.TSQL Как объединить промежуточные итоги, итоговые суммы и промежуточные итоги по N-1 в одном запросе
Тип записи - 1 или 2, где 1 - прямой вход, а 2 - перенос.
Это пример данных (Ward и WardType соединяются из таблицы поиска): -
IntRefID RecordType StartDate StartTime Ward WardType
1205378364 1 25/04/2016 17:30:00 BR WARD Adult
1205378965 2 26/04/2016 18:00:00 BL WARD HDU
1205402541 1 21/04/2016 01:15:00 SA UNIT SA
1205402541 2 26/04/2016 14:36:00 BR WARD Adult
1205402772 1 21/04/2016 03:11:00 SA UNIT SA
Выход мне нужно будет выглядеть следующим образом -
Ward RecordType-1 RecordType-2 Total Transfers from SA
BR WARD 1 1 2 1
BL WARD 0 1 1 0
Когда есть была передача между операндами IntRefID остается неизменной.
Я застреваю, пытаясь получить итоговые значения для «Переходов из SA».
В третьем и четвертом строках данных показан экземпляр, в котором пациент был принят в подразделение SA, а затем переведен в BR Ward. Мне нужно пересчитать эту передачу.
Существует несколько типов подопечных, и мне нужно только пересчитывать переводы из подразделения SA в взрослые палаты.
Я просмотрел другие сообщения, в которых вы можете подсчитать N-мерное значение группы или в этом случае N-1, но я не могу решить, как объединить это с регулярными промежуточными итогами в одном запросе.
Спасибо за ответы. Я использовал немного, чтобы придумать решение, которое использовало временную таблицу для хранения номеров строк, разделенных по IntRefId, упорядоченным по дате начала. Затем выполнил запрос self join на IntRefId и [Row Number] = [Row Number] -1 – JohnnyPgood