Forçar resultado em uma Query
Com a seguinte query, quero somar quantas notas menor do que 60, eu tenho em cada disciplina, por turma. As tabelas sao DBF.
O problema é que , quando nao tem nenhuma nota perdida em alguma disciplina, nao aparece o resultado. Preciso que o resultado apareça, mesmo que este seja zero.
Isto porque, com esta query estou montando um grafico, e quando isso acontece(nao aparece a disciplina com total zero), este fica todo furado.
Ou seja, mesmo que o resultado seja zero, eu quero que apareceça
Como forçar este aparecimento , assim :
Disciplina Totais
portugues = 3
matematica = 6
geografia = 0
historia = 0
SELECT COUNT(*) AS TOTAIS,Tabdisc.DENO_DISC
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) < 60)
GROUP BY Tabdisc.DENO_DISC, Aluno.CGSTTU
ORDER BY Tabdisc.DENO_DISC
O problema é que , quando nao tem nenhuma nota perdida em alguma disciplina, nao aparece o resultado. Preciso que o resultado apareça, mesmo que este seja zero.
Isto porque, com esta query estou montando um grafico, e quando isso acontece(nao aparece a disciplina com total zero), este fica todo furado.
Ou seja, mesmo que o resultado seja zero, eu quero que apareceça
Como forçar este aparecimento , assim :
Disciplina Totais
portugues = 3
matematica = 6
geografia = 0
historia = 0
SELECT COUNT(*) AS TOTAIS,Tabdisc.DENO_DISC
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) < 60)
GROUP BY Tabdisc.DENO_DISC, Aluno.CGSTTU
ORDER BY Tabdisc.DENO_DISC
Edeson
Curtidas 0
Respostas
Galouco
10/11/2003
Coloca depois do teste de notas < 60 OR Somanota.NOT1 AS INTEGER = 0
Acho que vai dar certo.
Abraços
Acho que vai dar certo.
Abraços
GOSTEI 0
Edeson
10/11/2003
Caro Albert,
assim nao funciona, porque a query vai tentar somar a nota1 que for = 0, e nao é bem isso que eu estou precisando.
O que eu preciso é que, mesmo nao tendo nenhuma nota menor do que 60 ( observe entao que é a soma das notas perdidas, e nao a nota em si),
o resultado apareça.
Pela query que fiz, a disciplina que nao tem nenhuma nota abaixo de 60, ela nao aparece no resultado dela. Aparece assim:
portugues = 5
matematica = 10
e nao assim(que é como eu preciso) :
portugues = 5
geografia = 0
historia = 0
matematica = 10
obrigado
assim nao funciona, porque a query vai tentar somar a nota1 que for = 0, e nao é bem isso que eu estou precisando.
O que eu preciso é que, mesmo nao tendo nenhuma nota menor do que 60 ( observe entao que é a soma das notas perdidas, e nao a nota em si),
o resultado apareça.
Pela query que fiz, a disciplina que nao tem nenhuma nota abaixo de 60, ela nao aparece no resultado dela. Aparece assim:
portugues = 5
matematica = 10
e nao assim(que é como eu preciso) :
portugues = 5
geografia = 0
historia = 0
matematica = 10
obrigado
GOSTEI 0