Preciso fazer SELECT no Oracle SQL e o resultado cada dia em uma linha
Eu tentei o seguinte SELECT
select distinct admission_date ,
SUBSTR(ADMISSION_DATE,7,2) as "admission day" ,
case when nationality = 1 then count(distinct a.patient_no) end as "S" ,
case when nationality > 1 then count(distinct a.patient_no) end as "NS"
from inp_admission_history a , mr_files b
where admission_date between 20231201 and 20231230
and a.PATIENT_NO = b.PATIENT_NO
group by admission_date , SUBSTR(ADMISSION_DATE,7,2) , nationality
order by admission_date
mas o resultado da consulta agrupa cada nacionalidade em uma linha assim
admission_date admission day S NS
20231201 01 15
20231201 01 20
20231201 01 7
seu grupo por nacionalidade é exibido todos os dias em várias linhas
o que eu preciso mostrar todos os dias seguidos só assim
admission_date admission day S NS
20231201 01 15 27
como posso fazer isso por favor e desde já agradeço
Você não postou caso de teste então simplifiquei a situação e usei apenas uma tabela; faça a junção você mesmo, mas é assim que se faz.
Dados de amostra:
Consulta: agregação condicional:
Mais uma coisa: por que você está mantendo a data de admissão em uma coluna VARCHAR2 (ou similar), como uma string ? Isso exige problemas. Se possível, mude para
DATE
tipo de dados.