• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

SonicSpot

Problema com query SQL

2 mensagens neste tópico

Viva pessoal! Estou com um problema com uma query SQL. Vou só dar uma pequena explicação das tabelas envolvidas. Tenho uma tabela subActividades, que está relaccionada com a tabela grupos, que por sua vez está relacionada com as tabelas responsaveis e membrosGrupo. Basicamente, uma subActividade pode ter vários grupos, que por sua vez podem ter vários membros e responsáveis. As classes membroGrupo e responsavel derivam da classe entidade (tabela entidades). O que eu queria que a minha query fizesse, era listar todos grupos associados a uma subActividade, mostrando os seus dados, assim como uma contagem do nº de membros e responsáveis dos mesmos. Por alguma razão, que ainda não entendi, a contagem de responsaveis aparece sempre igual à contagem de membros. Deixo aqui a query que estou a usar:

SELECT grupos.idGrupo, grupos.nome, grupos.lembrete, grupos.nota, grupos.trocasMembros, grupos.trocasResponsaveis, COUNT(membrosGrupo.REFidEntidade) AS numMembros, COUNT(responsaveis.REFidEntidade) AS numResponsaveis
FROM grupos
LEFT JOIN membrosGrupo ON (grupos.idGrupo=membrosGrupo.REFidGrupo)
LEFT JOIN responsaveis ON (grupos.idGrupo=responsaveis.REFidGrupo)
WHERE grupos.REFidSubActividade=10
GROUP BY grupos.idGrupo
ORDER BY grupos.nome ASC, grupos.idGrupo ASC

Usei como exemplo a subActividade com id=10

Agradecia imenso que me ajudassem. Caso a explicação não chegue, e precisem da estrutura da BD, posso colocá-la aqui.

Cumprimentos, Marco Oliveira.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não consegui perceber muito bem a tua questão mas a princípio um outro select ali resolve caso contrário tens que fazer uma nova query.

Mas explica-te melhor

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora