SQL. Retornar quantidade de linhas encontradas [RESOLVIDO]  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
atilaraphael
Debugger
[Avatar]

Membro desde: 08/09/2009 12:45:53
Mensagens: 67
Offline

Bom dia,

eu tenho um código sql para retornar a quantidade de serviços cadastrados em uma cidade. Só que ele me retorna várias linhas com a quantidade de fornecedores de serviço por serviço.

O código esta assim:


O retorno é este


Ele está retornando ai 4 linhas que seriam o serviço oferecida em uma cidade, ou seja, a primeira linha informa que tem um serviço com 5 prestadores, a segunda é outro serviço com 1 prestador, a terceira outro serviço com 4 prestadores e a última linha outro serviço com 1 prestador.

Sendo assim tenho quatro serviços para aquela cidade.
Eu queria que o retorno fosse este:


Ou seja, voltando com 1 linha que informe quantos serviços realmente tem naquela cidade.

Alguém sabe com acertar este SQL?

This message was edited 2 times. Last update was at 28/07/2011 13:40:07


Att;
Atila Raphael
[MSN]
erasmo_tec
JavaChild
[Avatar]

Membro desde: 25/07/2008 15:08:21
Mensagens: 105
Offline

blz, vc falou que quer agrupar por cidade certo? vc tentou fazer o group by por cidade?
[Email] [MSN] [ICQ]
atilaraphael
Debugger
[Avatar]

Membro desde: 08/09/2009 12:45:53
Mensagens: 67
Offline

Olá erasmo_tec,

mas dentro da cláusula WHERE tenho isso e.codigo_cidade = 820 o que já define a cidade.

Eu quero retornar quantas profissões tem cadastradas para aquela cidade, só que neste sql ele retorna a quantidade de profissionais por profissões.

Att;
Atila Raphael
[MSN]
erasmo_tec
JavaChild
[Avatar]

Membro desde: 25/07/2008 15:08:21
Mensagens: 105
Offline

então, quando vc diz e.codigo_cidade = 820 vc condiciona que quer tudo referente a cidade 820 mas não está dizendo que quer agrupado por cidade.

tente fazer o group by por cidade tb, exemplo group by c.cidade, s.descricao
[Email] [MSN] [ICQ]
atilaraphael
Debugger
[Avatar]

Membro desde: 08/09/2009 12:45:53
Mensagens: 67
Offline

Consegui resolver

O código ficou assim:



Ou seja, coloquei um DISTINCT e tirei o GROUP BY.

Agora ele esta retornando 4 como eu queria.


Fica o código ai caso alguém passe pelo mesmo problema.

Att;
Atila Raphael
[MSN]
erasmo_tec
JavaChild
[Avatar]

Membro desde: 25/07/2008 15:08:21
Mensagens: 105
Offline

sim, com distinct tb funciona... muito bem!
[Email] [MSN] [ICQ]
atilaraphael
Debugger
[Avatar]

Membro desde: 08/09/2009 12:45:53
Mensagens: 67
Offline

Valeu a força erasmo_tec.

Att;
Atila Raphael
[MSN]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team