Ajuda em um Select

MySQL

01/04/2014

Pessoal eu sou novo em programação e ainda tenho muitas duvidas e estou com um problema em um SQL para gerar um relatório.

Vou explicar o que está ocorrendo

eu tenho uma tabela função (o que a pessoa faz) chamada gsaclb003, tenho uma tabela clube chamada gsaclb003
e por fim a tabela associado gsaclb004, cada associado deve ter uma função e pertencer a um clube eu preciso do seguinte
um select que me traga agrupado por clube e somado as funções cada uma em uma coluna

Clube Função 1 Função 2 Função 3 Total
1- Lions Clube 10 5 5 20
2- TTC Clube 12 8 3 23

estou usando o select abaixo só que ele me retorna somando as funções em todos os clubes, exemplo se o clube um tem apenas 1 associado com aquela função mas no clube 2 tem 8 associados com aquela função ele traz tanto no clube um como no clube 2, a contagem de 9 pessoas com aquela função


select descricaoclub,
(select count(associadofunc) from gsaclb004 where associadofunc = 1 ) as cl ,
(select count(associadofunc) from gsaclb004 where associadofunc = 2 ) as cl
from gsaclb004, gsaclb002, gsaclb003
where associadoclub = idclube
and associadofunc = idfuncao
group by descricaoclub



como posso fazer para mudar isso?

Thales Benegas

Thales Benegas

Curtidas 0

Respostas

Bruno Leandro

Bruno Leandro

01/04/2014

Quanto tempo :)

Tenta assim

select descricaoclub,
(select count(x.associadofunc) from gsaclb004 x where x.associadofunc = 1 and x.associadoclub = gsaclb004.idclube ) as cl1 ,
(select count(y.associadofunc) from gsaclb004 y where y.associadofunc = 2 and y.associadoclub = gsaclb004.idclube ) as cl2
from gsaclb004, gsaclb002, gsaclb003
where associadoclub = idclube
and associadofunc = idfuncao
group by descricaoclub

qualquer coisa manda um email eu te ajudo
GOSTEI 0
Thales Benegas

Thales Benegas

01/04/2014

Valeu Bruno, deu certo aqui....Valeu pela ajuda da próxima mando direto no seu e-mail rsrs
GOSTEI 0
POSTAR