Problemas no resultado da select
01/12/2003
0
Tenho uma select tipo esta: select count(*) as total where codusuario=15, a questao e quando nao existe nenhum usuario com o codigo 15 ele retorna como EOF eu preciso e tem que retornar 0 e nao EOF existe como fazer isto?
Mr_joni
Posts
01/12/2003
Mariah
select nome_usuario,count(xx) from tabusu left outer join outra tab on codusuario=codusuariooutratab group by nome_usuario;
isto retornaria algo tipo
usuario1 10
usuario2 5
usuario3 0
Espero ter auxiliado.
Mariah
01/12/2003
Anderson_dpa
If not Exists(Select count(*) from tabelatal where codfuncionario=15)
begin
Declare @varTotal
Set @varTotal= 0
end
Grande abraço
Anderson
andersondpa@hotmail.com
02/12/2003
Mr_joni
Vou tentar refazê-la. Vamos lá.
Tenho tres tabelas.
Primeria: visitas
codvisita
codusuario: int
data_visita: datetime
Segunda: vistas_tipo
codigo: int
titulo: nvarchar(50)
Terceira: visita_opcoes
codvisita: int
tipo_visita: int
Exemplo de dados:
visitas_tipo:
codigo: 1 titulo: rotina
codigo: 2 titulo: nova
codigo:3 titulo: demonstracao
codigo: 4 titulo: instalacao
visitas:
codusuario: 15 data_visita: 27/11/2003 codvisita: 01
codusuario: 15 data_visita: 27/11/2003 codvisita: 02
codusuario: 15 data_visita: 27/11/2003 codvisita: 03
codusuario: 15 data_visita: 28/12/2003 codvisita: 04
codusuario: 15 data_visita: 28/12/2003 codvisita: 05
codusuario: 15 data_visita: 27/11/2003 codvisita: 06
visitas_opcoes
codvisita: 01 tipo_vista: 1
codvisita: 01 tipo_vista: 3
codvisita: 01 tipo_vista: 4
codvisita: 02 tipo_vista: 1
codvisita: 03 tipo_vista: 1
codvisita: 04 tipo_vista: 2
codvisita: 04 tipo_vista: 4
codvisita: 05 tipo_vista: 1
codvisita: 06 tipo_vista: 1
Quando eu faco esta select:
SELECT COUNT(visitas_opces.tipo) AS total, visitas_tipo.titulo, visitas_opcoes.tipo, MONTH(visitas.data_vista) AS mes
FROM visitas_tipos ´&_
INNER JOIN visitas ON visitas_opcoes.codvisita = visitas.codvisita
INNER JOIN visitas_tipo ON visitas_opcoes.tipo_visita = visitas_tipo.codigo
WHERE (visitas.data_vista BETWEEN ´11/27/2003´ AND ´11/28/2003´) AND (visitas.codusuario = 15) AND (visitas_tipo.codigo = 1)
GROUP BY MONTH(visitas.data_vista), visitas_opcoes.tipo, visitas_tipo.titulo
ORDER BY MONTH(visitas.data_visita)´
Esta select e colocada dentro de um loop q faz ela verificar todos os tipos existentes na tabela visitas_tipo. A questao e a seguinte por exemplo ela me retorna num dado momento o seguinte resultado:
Total titulo tipo mes
4 Rotina 1 11 <= referente a visita 1
1 Demo.. 3 11 <= referente a visita 1
1 Inst... 4 11 <= referente a visita 1
1 Rotina 1 11 <= referente a visita 2
1 Rotina 1 11 <= referente a visita 3
1 Rotina 1 11 <= referente a visita 6
1 Nova 1 12 <= referente a visita 4
1 Inst... 1 12 <= referente a visita 4
1 Rotina 1 12 <= referente a visita 5
Este resultado esta correto so q eu preciso q ele me retorne os campos titulo q faltarao com o resultado 0. Isto e para cada visita devera ter 4 respostas, Rotina, Nova, Instalacao, Demonstracao.
espero ter me explicado melhor agora.
Clique aqui para fazer login e interagir na Comunidade :)