Select em que o resultado do sum e do group by seja alocado em outra coluna

15/05/2018

0

Select
numcad as Matricula,
sum(valeve) as Ferias, 
tclrcs as Tipo_Ferias   
from r042rcv
where numcad = 94063 
and tclrcs IN (75,76)
and codeve <> 197
group by tclrcs,numcad


resultado do select

Matricula Ferias Tipo_Ferias
94063 1250.71 75
94063 610.70 76

Obs.: O tipo_ferias acabei colocando para demonstrar no select mas não precisa e nome da coluna
deixei como ferias porque nao consegui montar o select para demonstrar Ferias_Vencidas e Ferias Proporcional

Como gostaria que ficasse em uma coluna separada e que não repetisse a matricula do colaborador.

Matricula Ferias_Vencidas Ferias_Proporcional
94063 1.250,71 610.70
Matheus Cordeiro

Matheus Cordeiro

Responder

Post mais votado

16/05/2018

algo assim:

Select
numcad as Matricula,
sum(case when tclrcs = 75 then valeve else 0 end) as Ferias_Vencidas, 
sum(case when tclrcs = 76 then valeve else 0 end) as Ferias_Proporcionais 
from r042rcv
where numcad = 94063 
and tclrcs IN (75,76)
and codeve <> 197
group by numcad

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

16/05/2018

Matheus Cordeiro

Show, bem isso, muito obrigado!!!
Responder

16/05/2018

Matheus Cordeiro

Ficou assim, apenas notei que quando o valor das férias integral for 0 ele está preenchendo com o valor da férias integral.

select
xCadRes.numcad as Cadastro,
xCadFun.nomfun as Nome,
xCadFun.datadm as Admissão,
xCadRes.DatDem as Demissão,
xCadRes.caudem as Causa,
sum(case when tclrcs = 75 then valeve else 0 end) as Ferias_Integral,
xCodCar.titred as Cargo,
sum(case when tclrcs = 76 then valeve else 0 end) as Férias_Prop,
sum(case when tclrcs = 71 then valeve else 0 end) as Décimo_Prop,
xCadRes.salfav as Salario,
xCadRes.datpag as Pagamento,
sum(case when tclrcs = 89 then valeve else 0 end) as Líquido
from r042rcv xEveRes,
r042rcm xCadRes,
r034fun xCadFun,
r024car xCodCar
where xCadRes.datdem >= '01-03-2018'
and xEveRes.tclrcs IN (71,75,76,89)
and xEveRes.codeve <> 197
and xEveRes.numemp = xCadFun.numemp
and xEveRes.tipcol = xCadFun.tipcol
and xEveRes.numcad = xCadFun.numcad
and xEveRes.numemp = xCadRes.numemp
and xEveRes.tipcol = xCadRes.tipcol
and xEveRes.numcad = xCadRes.numcad
and xCadFun.codcar = xCodCar.codcar
group by xCadRes.numcad,xCodCar.titred,
xCadFun.nomfun,xCadFun.datadm,
xCadRes.datdem,xCadFun.codcar,
xCadRes.salfav,xCadRes.datpag,
xCadRes.caudem
order by xCadFun.nomfun
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar