Fórum Forçar resultado em uma Query #194026
10/11/2003
0
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
Curtir tópico
+ 0
Responder
Posts
10/11/2003
Galouco
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
Responder
Gostei + 0
11/11/2003
Edeson
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)