Forçar o aparecimento de um total = 0

Firebird

04/09/2003

Numa query, quero contar quantas notas são menores do que 18, agrupadas por disciplina. Estou usando o COUNT.
O meu problema é que quando o resultado em alguma disciplina é 0 (quer dizer, nao tem nenhuma nota menor que 1, este valor e a disciplina correspondente não aparecem como um registro no resultado da query. Eu preciso que apareça, por exemplo :
Total Disciplina
5 Matematica
8 Historia
0 Portugues
Simplesmente essa ultima linha não aparece... (ou qualquer outra que tiver o total = 0.

Como fazer ?


Estou usando é o INTERBASE.


Minha sql é assim:

SELECT COUNT(*) AS TOTAIS,Tabdisc.DENO_DISC,Aluno.CGSTTU
FROM SOMANOTA,ALUNO,TABDISC
WHERE (Somanota.CODALUN = Aluno.COD_ALUN)
AND (Somanota.DISCIP = Tabdisc.COD_DISC)
AND (Aluno.CGSTTU =:Turma)
AND (CAST(Somanota.NOT1 AS INTEGER) >=:Aprov)
AND (Tabdisc.Disc_Disp = ´T´)
AND (Aluno.OCOR_ALUN <> ´MO´)
GROUP BY Tabdisc.DENO_DISC, Aluno.CGSTTU
ORDER BY Tabdisc.DENO_DISC

obrigado
edeson


Edeson

Edeson

Curtidas 0

Respostas

Afarias

Afarias

04/09/2003

crie uma view com este SQL (ou algo assim) trazendo o codigo da disciplina (DISCIP) e faca o LEFT JOIN da tabela de disciplinas (Tabdisc)com esta view.

Assim, todas as disciplinas vao aparecer, sendo q as que nao estao na VIEW aparecerao com o valor do campo TOTAIS como NULL.

Entao, na sua interface vc pode fazer os NULL aparecer como 0


T+


GOSTEI 0
POSTAR