Nomear resultado
Boa Tarde, preciso fazer com que no campo alta quando o resultado for = '30.12.1899' me traga o resultado como 'INTERNADO'
select
ricadint.segurado,
datediff(year, ricadpac.nasc,current_date) idade,
case when trunc((current_date - ricadpac.nasc) / 365.25) <= 14 then
'0 a 14'
when trunc((current_date - ricadpac.nasc) / 365.25) between 15 and 28 then
'15 a 28'
when trunc((current_date - ricadpac.nasc) / 365.25) between 29 and 42 then
'29 a 42'
when trunc((current_date - ricadpac.nasc) / 365.25) between 43 and 56 then
'43 a 56'
when trunc((current_date - ricadpac.nasc) / 365.25) between 57 and 71 then
'57 a 71'
when trunc((current_date - ricadpac.nasc) / 365.25) between 72 and 86 then
'72 a 86'
when trunc((current_date - ricadpac.nasc) / 365.25) >= 87 then
'>=87'
end as faixa_idade,
ricadpac.sexo,
ricadint.bloco,
ricadint.leito,
(select max(nome) from tbespec where tbespec.cod=ricadint.espec) despec,
(select max(nome) from tbconven where tbconven.cod=ricadint.conv) convenio,
ricadint.entrada,ricadint.alta, ricadint.anopro,ricadint.mespro,
(select tbtipoacomod.nome from tbtipoacomod where tbtipoacomod.id = ricadint.codacomod) acomodacao
from ricadint
inner join ricadpac on ricadpac.pront=ricadint.pront
where ricadint.entrada between :data1 and :data2
--where ricadint.alta='30.12.1899'
order by ricadint.bloco,
ricadint.bloco,
ricadint.acomod,
ricadint.leito
select
ricadint.segurado,
datediff(year, ricadpac.nasc,current_date) idade,
case when trunc((current_date - ricadpac.nasc) / 365.25) <= 14 then
'0 a 14'
when trunc((current_date - ricadpac.nasc) / 365.25) between 15 and 28 then
'15 a 28'
when trunc((current_date - ricadpac.nasc) / 365.25) between 29 and 42 then
'29 a 42'
when trunc((current_date - ricadpac.nasc) / 365.25) between 43 and 56 then
'43 a 56'
when trunc((current_date - ricadpac.nasc) / 365.25) between 57 and 71 then
'57 a 71'
when trunc((current_date - ricadpac.nasc) / 365.25) between 72 and 86 then
'72 a 86'
when trunc((current_date - ricadpac.nasc) / 365.25) >= 87 then
'>=87'
end as faixa_idade,
ricadpac.sexo,
ricadint.bloco,
ricadint.leito,
(select max(nome) from tbespec where tbespec.cod=ricadint.espec) despec,
(select max(nome) from tbconven where tbconven.cod=ricadint.conv) convenio,
ricadint.entrada,ricadint.alta, ricadint.anopro,ricadint.mespro,
(select tbtipoacomod.nome from tbtipoacomod where tbtipoacomod.id = ricadint.codacomod) acomodacao
from ricadint
inner join ricadpac on ricadpac.pront=ricadint.pront
where ricadint.entrada between :data1 and :data2
--where ricadint.alta='30.12.1899'
order by ricadint.bloco,
ricadint.bloco,
ricadint.acomod,
ricadint.leito
Marcos Batista
Curtidas 0
Melhor post
Emerson Nascimento
13/04/2022
tente algo assim:
select ricadint.segurado, datediff(year, ricadpac.nasc,current_date) idade, case when trunc((current_date - ricadpac.nasc) / 365.25) <= 14 then '0 a 14' when trunc((current_date - ricadpac.nasc) / 365.25) between 15 and 28 then '15 a 28' when trunc((current_date - ricadpac.nasc) / 365.25) between 29 and 42 then '29 a 42' when trunc((current_date - ricadpac.nasc) / 365.25) between 43 and 56 then '43 a 56' when trunc((current_date - ricadpac.nasc) / 365.25) between 57 and 71 then '57 a 71' when trunc((current_date - ricadpac.nasc) / 365.25) between 72 and 86 then '72 a 86' when trunc((current_date - ricadpac.nasc) / 365.25) >= 87 then '>=87' end as faixa_idade, ricadpac.sexo, ricadint.bloco, ricadint.leito, (select max(nome) from tbespec where tbespec.cod=ricadint.espec) despec, (select max(nome) from tbconven where tbconven.cod=ricadint.conv) convenio, ricadint.entrada, -- um campo não pode ter dois tipos diferentes (data e texto) -- então sempre deverá ser apresentado um texto coalesce(cast(ricadint.alta as varchar(20)),'INTERNADO') alta, ricadint.anopro, ricadint.mespro, (select tbtipoacomod.nome from tbtipoacomod where tbtipoacomod.id = ricadint.codacomod) acomodacao from ricadint inner join ricadpac on ricadpac.pront=ricadint.pront where ricadint.entrada between :data1 and :data2 order by ricadint.bloco, ricadint.bloco, ricadint.acomod, ricadint.leito
GOSTEI 1