Проблема
В Oracle Visual Analyzer существует ограниченный набор функций для вычислений, которые не включают в себя все возможности SQL.
Я хочу подсчитать общее количество уникальных уникальных значений в столбцеесли другой столбец содержит определенный текст.
В частности, у меня есть три столбца, которые показывают визит пациента и связанные с ним документы, которые необходимо заполнить во время этого визита. Каждый документ имеет статус ( Открыто , Выделено , В процессе и Завершено ). Я хочу иметь возможность подсчитывать уникальные посещения, когда есть какие-либо документы в статусе В процессе или Выделено .
Visit Document Status
1 #345 Open
1 #346 In Progress
1 #347 Allocated
2 #89 Complete
2 #90 Allocated
3 #890 Open
4 #23 Allocated
4 #24 Allocated
Что я пытался
Я пробовал несколько комбинаций запросов, используя их CASE (If) и COUNT (DISTINCT), и даже пробовал SUM, где CASES были установлены для проверки на 1 или 0, однако я не могу создать комбинацию, которая позволяет мнеУспешно отфильтровать до уникальных посещений, он будет только подсчитывать, сколько раз эти статусы появляются для столбца «Документ»
Самое близкое, что я получил:
SUM(CASE WHEN Status LIKE 'In Progress%' OR Status LIKE 'Allocated%' THEN 1 ELSE 0 END)
, однако это не позволяет мнеобъединить что-нибудь об уникальности посещений.
Цель
Я надеюсь получить конечный результат, который будет считать DISTINCT посещений со статусом В процессе или Распределено . Для приведенного выше примера это будет:
Всего: 3 посещений, которые распределены или в процессе