Preciso de uma mão, SOMAR resultados
Eis a seguinte query:
>
Citar
SELECT EQUIPAMENTO AS NOME2,
CLINICA AS NOME,
COUNT(DISTINCT CHAVE) AS QTD_ATND,
COUNT(DISTINCT NREXAME) AS QTD_EXAMES,
**SUM(CHAVESERV) AS QTD_SERVICOS,
SUM(VALORITEM) AS VALOR **
FROM (
SELECT AE.NREXAME,
A.NRATENDIMENTO AS CHAVE,
(SF_VALORITEM('S', 'SHSCSFSRCSRHSRFSU', ATNDS.FK_SERVICO, ATNDS.FK_CONVENIO, ATNDS.FK_CONVENIOPLANO,
ATNDS.FK_DTHRINICIOATND, ATNDS.FK_PACIENTE, ATNDS.DTHRUTILIZACAO, ATNDS.SEQUENCIA, ATNDS.NrExame, ATNDS.QTD)
+ ATNDS.DESCACRES) AS VALORITEM,
GE.NOME AS GRUPO, C.NOME AS CLINICA, EQP.NOME AS EQUIPAMENTO,
GE.ID_GRUPOEQUIPAMENTO,
A.DTHRINICIOATND,
ATNDS.QTD AS CHAVESERV
FROM ATENDIMENTOS A
INNER JOIN ATENDIMENTOSEXAMES AE ON (A.DTHRINICIOATND = AE.FK_DTHRINICIOATND AND A.FK_PACIENTE = AE.FK_PACIENTE)
INNER JOIN ATENDIMENTOSSERVICOS ATNDS ON (ATNDS.FK_DTHRINICIOATND = AE.FK_DTHRINICIOATND AND ATNDS.FK_PACIENTE = AE.FK_PACIENTE
AND ATNDS.NREXAME = AE.NREXAME)
INNER JOIN GRUPOSEQUIPAMENTOS GE ON (AE.FK_GRUPOEQUIPAMENTO = GE.ID_GRUPOEQUIPAMENTO)
INNER JOIN CLINICAS C ON (GE.FK_CLINICA = C.ID_CLINICA)
LEFT JOIN EQUIPAMENTOS EQP ON (AE.FK_EQUIPAMENTO = EQP.FK_RECURSO)
WHERE ((AE.FK_EQUIPAMENTO = -1) OR (-1 = -1))
AND A.DOMNTIPOATND = 'X'
AND ((-1 = -1) OR (AE.FK_GRUPOEQUIPAMENTO = -1))
AND ((C.ID_CLINICA = -1) OR (-1 = -1))
AND ((C.FK_INSTITUTO = 1) OR (1 = -1))
AND ((ATNDS.FK_CONVENIO = 23) OR (23 = -1))
AND ATNDS.FK_DTHRINICIOATND >= '9/2/2017'
AND ATNDS.FK_DTHRINICIOATND <= '17/2/2017 23:59:59'
UNION ALL
SELECT AE.NREXAME,
A.NRATENDIMENTO AS CHAVE,
SF_VALORITEM('M', '', ATNDM.FK_MATERIAL, ATNDM.FK_CONVENIO, ATNDM.FK_CONVENIOPLANO,
ATNDM.FK_DTHRINICIOATND, ATNDM.FK_PACIENTE, ATNDM.DTHRUTILIZACAO, 0, ATNDM.NrExame, ATNDM.QTD) AS VALORITEM,
GE.NOME AS GRUPO, C.NOME AS CLINICA, EQP.NOME AS EQUIPAMENTO,
GE.ID_GRUPOEQUIPAMENTO,
A.DTHRINICIOATND,
0 AS CHAVESERV
FROM ATENDIMENTOS A
INNER JOIN ATENDIMENTOSEXAMES AE ON (A.DTHRINICIOATND = AE.FK_DTHRINICIOATND AND A.FK_PACIENTE = AE.FK_PACIENTE)
INNER JOIN ATENDIMENTOSMATERIAIS ATNDM ON (ATNDM.FK_DTHRINICIOATND = AE.FK_DTHRINICIOATND AND ATNDM.FK_PACIENTE = AE.FK_PACIENTE
AND ATNDM.NREXAME = AE.NREXAME)
INNER JOIN GRUPOSEQUIPAMENTOS GE ON (AE.FK_GRUPOEQUIPAMENTO = GE.ID_GRUPOEQUIPAMENTO)
INNER JOIN CLINICAS C ON (GE.FK_CLINICA = C.ID_CLINICA)
LEFT JOIN EQUIPAMENTOS EQP ON (AE.FK_EQUIPAMENTO = EQP.FK_RECURSO)
WHERE ((AE.FK_EQUIPAMENTO = -1) OR (-1 = -1))
AND A.DOMNTIPOATND = 'X'
AND ((-1 = -1) OR (AE.FK_GRUPOEQUIPAMENTO = -1))
AND ((C.ID_CLINICA = -1) OR (-1 = -1))
AND ((C.FK_INSTITUTO = 1) OR (1 = -1))
AND ((ATNDM.FK_CONVENIO = 23) OR (23 = -1))
AND ATNDM.FK_DTHRINICIOATND >= '9/2/2017'
AND ATNDM.FK_DTHRINICIOATND <= '17/2/2017 23:59:59'
) QRY1
GROUP BY CLINICA, EQUIPAMENTO
ORDER BY CLINICA, EQUIPAMENTO
Ele me retorna o seguinte resultado:

Eu gostaria de saber como SOMAR os resultados, exemplo total_servicos e somar os valores 1+3+1+1 que no caso é a chave **SUM(CHAVESERV) AS QTD_SERVICOS**,
ou seja queria saber como somar um RESULTADO já obtido da query.
Tentei fazer da seguinte maneira, mas ele não reconhece a coluna já resultando de uma consulta:
SELECT EQUIPAMENTO AS NOME2,
CLINICA AS NOME,
COUNT(DISTINCT CHAVE) AS QTD_ATND,
COUNT(DISTINCT NREXAME) AS QTD_EXAMES,
**SUM(CHAVESERV) AS QTD_SERVICOS,
SUM(VALORITEM) AS VALOR,**
** SUM(QTD_SERVICOS) AS TOTAL_SERVICOS**
Agradeço muito a ajuda de todos!Discussão (3)
Carregando comentários...