Fórum Forçar o aparecimento de um total = 0 #38528
04/09/2003
0
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
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
Curtir tópico
+ 0
Responder
Posts
04/09/2003
Afarias
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+
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+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)