Agrupar 2 Selects

25/01/2018

0

Tenho os 2 selects (Oracle) abaixo e gostaria de trazer um único resultado sumarizando as quantidades.

Select 1
SELECT
TO_CHAR(DT_ALTA,''mm/yyyy'') Mes_Ano
,COUNT(DT_ALTA) Qtde_Sai
FROM atendime
WHERE cd_multi_empresa IN (1)
AND DT_ALTA BETWEEN ''01/04/2017'' and ''25/01/2018''
AND CD_TIP_ACOM = ''8''
GROUP BY to_char(DT_ALTA,''mm/yyyy'')
ORDER BY TO_DATE(Mes_ANO, ''mm/yyyy'')

Select 2
SELECT
TO_CHAR(DT_LIB_MOV,''mm/yyyy'')Mes_Ano
,Count(*) Qtde_Sai
FROM MOV_INT
WHERE CD_TIP_ACOM <> ''8''
AND CD_ATENDIMENTO IS NOT NULL
AND DT_LIB_MOV BETWEEN ''01/04/2017'' and ''25/01/2018''
AND CD_LEITO_ANTERIOR IN (159,160,161,162,163,164,165,166)
AND CD_LEITO <> ''159''
AND CD_LEITO <> ''160''
AND CD_LEITO <> ''161''
AND CD_LEITO <> ''162''
AND CD_LEITO <> ''163''
AND CD_LEITO <> ''164''
AND CD_LEITO <> ''165''
AND CD_LEITO <> ''166''
GROUP BY TO_CHAR(DT_LIB_MOV,''mm/yyyy'')
ORDER BY TO_DATE(Mes_ANO, ''mm/yyyy'')

Os resultados são:
Select 1
04/2017 12
05/2017 7
06/2017 10
07/2017 12
08/2017 18
09/2017 5
10/2017 8
11/2017 6
12/2017 7
01/2018 6

Select 2
04/2017 30
05/2017 35
06/2017 48
07/2017 42
08/2017 40
09/2017 40
10/2017 35
11/2017 30
12/2017 40
01/2018 31

Resultado esperado:
04/2017 42
05/2017 42
06/2017 58
07/2017 54
08/2017 58
09/2017 45
10/2017 43
11/2017 36
12/2017 47
01/2018 37
Ricardo Rodrigues

Ricardo Rodrigues

Responder

Post mais votado

25/01/2018

Que bom que resolveu, qualquer coisa, só pra fim de teste, tente usar UNION somente ao invés de UNION ALL.

Jerson Boer

Jerson Boer
Responder

Mais Posts

25/01/2018

Jerson Boer

Olá Ricardo, experimente usar o Union ALL, veja se atende sua necessidade.

Select CampoA from Tabela A
union all
Select CampoA from Tabela B

Os campos entre as tabelas devem ter os mesmos nomes e quantidades

Veja se atende o que precisa.
Responder

25/01/2018

Ricardo Rodrigues

Boa tarde Jerson. Tentei da forma que você falou e deu o seguinte erro:<br />
<br />
ORA-00933: comando SQL não encerrado adequadamente<br />
00933. 00000 - "SQL command not properly ended"<br />
*Cause: <br />
*Action:<br />
Erro na linha: 10 Coluna: 2<br />
<br />
Erro no Union
Responder

25/01/2018

Jerson Boer

Consegue postar a query da forma que ficou a estrutura após a sua mudança?
Responder

25/01/2018

Ricardo Rodrigues

Consegui resolver. Criei um novo Select antes dos dois selects que postei anteriormente e no final coloquei um Where unindo as tabelas.

Obrigado pela ajuda.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar