Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia. Então, tenho um banco da seguinte forma: há a tabela de candidatos cadastrados, áreas e subáreas.
Cada candidato poderia se inscrever entre 1 a 3 áreas, e cada área possui várias sub-áreas diferentes. Além disso, na tabela candidato, há um campo chamado atuação, sendo 1 pra instrutor daquela area/subarea, e 2 pra consultor. Logo, pode haver vários registros da mesma pessoa, cada um com uma combinação de área/sub-área/atuação diferente. Eis a estrutura das tabelas:
/applications/core/interface/imageproxy/imageproxy.php?img=http://img714.imageshack.us/img714/6262/tabelasi.jpg&key=ef2e863e0cba4264692df759b30be58987db90a14c194422552a910a2379d4f5" alt="Imagem Postada" />
E um exemplo de registro, onde uma mesma pessoa está cadastrada em três áreas diferentes, tendo ainda sub-áreas e atuações para diferenciar:
/applications/core/interface/imageproxy/imageproxy.php?img=http://img689.imageshack.us/img689/4745/exemplov.jpg&key=c15473f7899767ff53b1aff38c9be8866888a97f2bbabbb3f5d25da8382cb339" alt="Imagem Postada" />
Problema agora é que tenho que fazer a seguinte busca: trazer todos aqueles que estão cadastrados em apenas UMA área. Nessa primeira etapa, desconsidera-se atuação, logo ela foi tirada fora da consulta. A seguinte busca retorna todos:
SELECT LEFT(c.num_inscricao, 11) AS NUMERO_INSCRICAO, c.nome_candidato AS NOME_INSCRITO, a.nome_area as AREA_INDICADO, sa.nome_subarea as SUBAREA_INDICADO
FROM 10candidatos c INNER JOIN 10areas a ON c.id_area = a.id_area
INNER JOIN 10subareas sa ON a.id_area = sa.id_area
WHERE c.num_subarea = sa.num_subarea
AND c.credenciado = 0
GROUP BY NOME_INSCRITO, AREA_INDICADO, SUBAREA_INDICADO
ORDER BY NOME_INSCRITO, AREA_INDICADO, SUBAREA_INDICADO
Com essa consulta será gerado um .xls com a relação, mas tenho que separar apenas quem tá inscrito em apenas UMA área..
Tentei coisas do tipo:
AND COUNT(DISTINCT c.id_area) = 1Mas ao tentar usar count, com ou sem distinct, retornava um erro no GROUP.
Estou precisando disso urgente.. alguém tem uma solução?
[]'s
Glauber
Carregando comentários...