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
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
Curtir tópico
+ 0
Responder
Posts
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:
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,
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
Clique aqui para fazer login e interagir na Comunidade :)