Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ikawa

Função Group By

Recommended Posts

Bom dia, estou com o seguinte problema, estou utilizando a função groupa by para agrupar alguns dados porem não estou conseguindo alguem poderia me ajudar?

select distinct
a.cd_atendimento,
p.nm_paciente,
c.nr_carteira
from dbamv.atendime a join dbamv.paciente p
on (a.cd_paciente = p.cd_paciente)
join dbamv.carteira c
on (c.cd_paciente = a.cd_paciente)

where a.cd_atendimento in ( select a.cd_atendimento from dbamv.atendime a join dbamv.carteira c on (a.cd_paciente = c.cd_paciente)
where a.tp_atendimento = 'I'
and a.cd_multi_empresa = 1
group by a.cd_atendimento)

Por esta query ele deveria me trazer todos os campos "a.cd_atendimento" agrupados, porem não esta me trazendo, esta trazendo desta maneira.

cd_atendimento        Nome
   763879	  SERGIO AUGUSTO           	747 740 000078 007
   763880	  LUIZ ALVES DA SILVA      	027000521400500001
   763880	  LUIZ ALVES DA SILVA      	27000521
   763880	  LUIZ ALVES DA SILVA      	27000521400500001
   763880	  LUIZ ALVES DA SILVA      	950681175207183501
   763880	  LUIZ ALVES DA SILVA      	95068.1175.2071.83501,
   763880	  LUIZ ALVES DA SILVA      	0105505605460100A3
   763912	  ALBANO DE MACEDO NETO    	0 067 350003032100 1
   763912	  ALBANO DE MACEDO NETO    	067.350003032100.1
   763912	  ALBANO DE MACEDO NETO    	00673500030321001
   763926	  MANOEL SEVERINO DE MOURA        752286000388000

 

Como pode verificar no campo cd_atendimento ele não agrupou os que deveria.

 

Alguem poderia me ajudar obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ikawa,

primeiramente bem vindo ao fórum!

 

Com relação ao seu problema, você esta dando distinct em outros campos também:

distinct
a.cd_atendimento,
p.nm_paciente,
c.nr_carteira

 

Qual a saída esperada.

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ikawa,

primeiramente bem vindo ao fórum!

 

Com relação ao seu problema, você esta dando distinct em outros campos também:

distinct
a.cd_atendimento,
p.nm_paciente,
c.nr_carteira

 

Qual a saída esperada.

 

Abçs

 

 

 

Boa tarde, muito obrigado eu que agradeço por fazer parte do fórum.

 

A saída esperada é que o campo a.cd_atendimento não se repetisse, como pode constatar ele se repete por varias vezes, e gostaria que agrupasse este campo quando o mesmo for igual. Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tira o campo c.nr_carteira do distinct

 

 

 

 

 

 

 

Tirei o campo e funcionou, maravilha, não querendo abusar ja abusando. Eu tirei o campo e ele não esta mais aparecendo a coluna, tem alguma maneira de tirar somente o campo c.nr_carteira do distinct, porem fazer com que a colune dele apareça na select.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema eh que você tem mais de um dado deste campo por paciente.

Se quiser que só venha umd ados, pode usar um MAX em um subselect, mas se precisar dos dois ou mais dados, vai ter que transformar este campo de linha para coluna, por PIVOT ou por isso aqui:

http://forum.imasters.com.br/topic/253426-concatenando-registros-de-varias-linhas-em-uma-so-linha/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.