Fazer um Group By com Inner Join

13/07/2017

0

Amigos , Boa tarde.

Eu consigo fazer um group by no select abaixo ?

select A.codigoromaneio, A.estadoromaneio, B.codigoromaneio, B.codigotarefa,b.datahistorico , c.codigotarefa , c.descricaotarefa
from romaneio A
inner join coletormensagem B on A.codigoromaneio = B.codigoromaneio
inner join tarefa c on b.codigotarefa = c.codigotarefa where estadoromaneio =4

Desde de já muito obrigado.

Deus abençoe.

Watson
Watson

Watson

Responder

Posts

13/07/2017

Watson

Por favor, alguém pode me ajudar ?
Responder

13/07/2017

Lincon Silva

Watson, é possível sim, mas te indico algumas questões antes, por exemplo:

Teu valor de A.codigoromaneio é iigual ao B.codigoromaneio, então não precisa adicionar os dois na query
Teu valor de B.codigotarefa é igual ao c.codigotarefa, então não precisa adicionar os dois na query.

Tua consulta então ficaria:


select 
               A.codigoromaneio, 
               A.estadoromaneio, 
               B.codigotarefa,
               B.datahistorico ,
               C.descricaotarefa
from romaneio A 
                 inner join coletormensagem B on A.codigoromaneio = B.codigoromaneio
                 inner join tarefa c on b.codigotarefa = c.codigotarefa 
where estadoromaneio =4
group by A.codigoromaneio, A.estadoromaneio, B.codigotarefa, B.datahistorico , C.descricaotarefa





Mas no seu caso servirá apenas para agrupar os valores, evitando os valores duplicados até a Quinta instancia, pois você ficaria com 5 valores em seu select.
Comumente as pessoas adicionam group by com uma função de agregação para somar, contar ou até saber a média de algum valor especifico, e por isso eu te pergunto o que você quer como retorno? Pergunto isso pra te auxiliar na formação da consulta, te passando algo mais próximo a tua realidade.

abraços,
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar