SQL Retornar colunas
Boa Tarde Pessoal!
Tenho a consulta SQL abaixo, preciso que nela retorno a coluna da tabela AMOVFUNDIA.NUMHORAS filtrado pelo codigo, vou precisar de duas colunas, uma para extra 70% e outra para extra 100%
Fiz uma subquery, mas não está retornando os valores corretos, alguém pode me ajudar?
SELECT F.CHAPA,
P.NOME,
S.DESCRICAO,
LEFT(FORMAT(Sum(H.ATRASO) / 60, '00') + ':'
+ FORMAT((Sum(H.ATRASO) / 60.0 - Sum(H.ATRASO) / 60) * 60, '00'), 5) AS ATRASO,
LEFT(FORMAT(Sum(H.FALTA) / 60, '00') + ':'
+ FORMAT((Sum(H.FALTA) / 60.0 - Sum(H.FALTA) / 60) * 60, '00'), 5) AS FALTA,
LEFT(FORMAT(Sum(H.COMPENSADO) / 60, '00') + ':'
+ FORMAT((Sum(H.COMPENSADO) / 60.0 - Sum(H.COMPENSADO) / 60) * 60, '00'), 5) AS COMPENSADO,
LEFT(FORMAT(Sum(H.EXTRAEXECUTADO) / 60, '00')
+ ':'
+ FORMAT((Sum(H.EXTRAEXECUTADO) / 60.0 - Sum(H.EXTRAEXECUTADO) / 60) * 60, '00'), 6) AS TOTAL_EXTRA_100_70,
/*DEVERÁ RETORNA O EVENTO DE HORAS EXTRAS A 70% E SOMA-LOS*/
(SELECT LEFT(FORMAT(Sum(M.NUMHORAS) / 60, '00') + ':'
+ FORMAT((Sum(M.NUMHORAS) / 60.0 - Sum(M.NUMHORAS) / 60) * 60, '00'), 5) AS EXTRA70
FROM AMOVFUNDIA M
WHERE CODEVE = 0122
AND M.DATA >= H.DATA
AND M.DATA <= H.DATA),
/*DEVERÁ RETORNA O EVENTO DE HORAS EXTRAS A 100% E SOMA-LOS*/
/*(SELECT M.NUMHORAS AS EXTRA100
FROM AMOVFUNDIA M
WHERE CODEVE = 0122
AND M.DATA >= H.DATA
AND M.DATA <= H.DATA),*/
LEFT(FORMAT(Sum(H.BASE) / 60, '00') + ':'
+ FORMAT((Sum(H.BASE) / 60.0 - Sum(H.BASE) / 60) * 60, '00'), 5) AS HORASTRAB_SEM_EXTRAS,
LEFT(FORMAT(Sum(H.BASE + H.EXTRAEXECUTADO) / 60, '00')
+ ':'
+ FORMAT((Sum(H.BASE + H.EXTRAEXECUTADO) / 60.0 - Sum(H.BASE + H.EXTRAEXECUTADO) / 60) * 60, '00'), 6) AS HORASTRABALHADAS,
LEFT(FORMAT(Sum(H.ADICIONAL) / 60, '00') + ':'
+ FORMAT((Sum(H.ADICIONAL) / 60.0 - Sum(H.ADICIONAL) / 60) * 60, '00'), 5) AS ADICIONAL,
LEFT(FORMAT(Sum(H.ABONO) / 60, '00') + ':'
+ FORMAT((Sum(H.ABONO) / 60.0 - Sum(H.ABONO) / 60) * 60, '00'), 5) AS ABONO,
F.CHAPA AS CHAPA_BASE
FROM PPESSOA AS P
INNER JOIN PFUNC AS F
ON P.CODIGO = F.CODPESSOA
INNER JOIN PSECAO AS S
ON F.CODCOLIGADA = S.CODCOLIGADA
AND F.CODSECAO = S.CODIGO
INNER JOIN AAFHTFUN AS H
ON F.CHAPA = H.CHAPA
WHERE F.CODCOLIGADA = :COLIGADA
AND ( H.DATA >= :DATA_INICIAL )
AND ( H.DATA <= :DATA_FINAL )
GROUP BY F.CHAPA,
P.NOME,
S.DESCRICAO,
H.DATA
Weverton Lemos
Curtidas 0
Melhor post
Emerson Nascimento
18/10/2021
tire H.DATA do group by
GOSTEI 1
Mais Respostas
Emerson Nascimento
18/10/2021
tente algo assim:
SELECT F.CHAPA, P.NOME, S.DESCRICAO, format(sum(H.ATRASO) / 60, '00') + ':' + format(sum(H.ATRASO) % 60, '00') AS ATRASO, format(sum(H.FALTA) / 60, '00') + ':' + format(sum(H.FALTA) % 60, '00') AS FALTA, format(sum(H.COMPENSADO) / 60, '00') + ':' + format(sum(H.COMPENSADO) % 60, '00') AS COMPENSADO, format(sum(H.EXTRAEXECUTADO) / 60, '00') + ':' + format(sum(H.EXTRAEXECUTADO) % 60, '00') AS TOTAL_EXTRA_100_70, /*DEVERÁ RETORNA O EVENTO DE HORAS EXTRAS A 70% E SOMA-LOS*/ (SELECT format(sum(M.NUMHORAS) / 60, '00') + ':' + format(sum(M.NUMHORAS) % 60, '00') FROM AMOVFUNDIA M WHERE M.CODEVE = 0122 -- INDIQUE O EVENTO DESEJADO AND M.CHAPA = F.CHAPA -- ASSOCIE AO FUNCIONÁRIO AND M.DATA BETWEEN :DATA_INICIAL AND :DATA_FINAL -- UTILIZE O MESMO PERÍODO ) AS EXTRA70, /*DEVERÁ RETORNA O EVENTO DE HORAS EXTRAS A 100% E SOMA-LOS*/ /*(SELECT M.NUMHORAS AS EXTRA100 FROM AMOVFUNDIA M WHERE CODEVE = 0122 AND M.DATA >= H.DATA AND M.DATA <= H.DATA),*/ format(sum(H.BASE) / 60, '00') + ':' + format(sum(H.BASE) % 60, '00') AS HORASTRAB_SEM_EXTRAS, format(sum(H.BASE + H.EXTRAEXECUTADO) / 60, '00') + ':' + format(sum(H.BASE + H.EXTRAEXECUTADO) % 60, '00') AS HORASTRABALHADAS, format(sum(H.ADICIONAL) / 60, '00') + ':' + format(sum(H.ADICIONAL) % 60, '00') AS ADICIONAL, format(sum(H.ABONO) / 60, '00') + ':' + format(sum(H.ABONO) % 60, '00') AS ABONO, F.CHAPA AS CHAPA_BASE FROM PPESSOA AS P INNER JOIN PFUNC AS F ON P.CODIGO = F.CODPESSOA INNER JOIN PSECAO AS S ON F.CODCOLIGADA = S.CODCOLIGADA AND F.CODSECAO = S.CODIGO INNER JOIN AAFHTFUN AS H ON F.CHAPA = H.CHAPA WHERE F.CODCOLIGADA = :COLIGADA AND ( H.DATA BETWEEN :DATA_INICIAL AND :DATA_FINAL ) GROUP BY F.CHAPA, P.NOME, S.DESCRICAO, H.DATA
GOSTEI 0
Weverton Lemos
18/10/2021
Consulta funciona, porém não está agrupando! Está trazendo dia a dia! Preciso somar e apresentar conforme passo o parametro de data....
GOSTEI 0
Weverton Lemos
18/10/2021
tire H.DATA do group by
Muito Obrigado Emerson funcionou....
GOSTEI 0