Ir para conteúdo

POWERED BY:

Arquivado

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

Kiluhty

Como Agrupar Resultados?

Recommended Posts

Olá para todos do Fórum.

 

Tenho o seguinte problema.

 

Fiz um select para usar como relatorio, sendo assim, possui muitos campos nele. mas quando eu mando executar o comando no SQL, ele aparece + ou - assim (mais ou menos pq vou fazer campos ficticios)

 

Nome do Cliente Filme Atendente

João 2 Func1

João 2 Func2

João 3 Func2

Maria 2 Func1

Maria 3 Func1

 

eu tentei olhar na net e achei o distinct mas num funcionou pq ele deu algum conflito pois neste relatorio tem campos de data e tal...

 

O que eu gostaria era poder só reunir todos os clientes com os filmes... tipo, se João pegou 2 vezes o mesmo filme, aparecesse em uma linha só... não importando quem foi q o atendeu. Mas o atendente tem no papel, então eu num sei como agrupar estar linhas e não interferir com os demais campos do select.

 

Atenciosamente

Kiluhty

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kiluhty,

 

se você tem que trazer em seu relatorio o atendente, você pode fazer por subselect somente o nome do atendente...

Realmente se você usar o group by com o nome do atendente vai repetior as linhas. Qual a versao do SQL utilizado??

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sugiriria um subselect que retornasse os nomes dos funcionarios concatenados em uma string....

 

Nome Filme Atendente

João 2 Func1, Func2

João 3 Func2

Maria 2 Func1

Maria 3 Func1

 

Só que aí você vai cair exatamente no mesmo problema que eu estou tendo.....

 

://forum.imasters.com.br/index.php?/topic/370393-funcao-join/

 

Então, se voce conseguir resolver o problema...... ME CONTA COMO FEZ !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma idéia, seria criar uma function, chame essa function no select e retorne da function uma string com todos os nomes dos atendentes

 

para retornar todos os atendentes na function em uma só string:

DECLARE @ATEND VARCHAR(4000)
SET @ATEND = ''

SELECT @ATEND = @ATEND + LTRIM(RTRIM(CAMPOATENDENTE)) + '; '
FROM TABELAATENDENTE
WHERE ID_ATENDENTE = @ID_ATENDENTE

RETURN @ATEND

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.