USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SQL com NULL
Irenko
BELO HORIZONTE
MG - BRASIL
Postada em 09/06/2004 13:16 hs            
Set TbEntrada = BdBaixas.OpenRecordset("SELECT codigo, sum(Quant) AS sEntrada FROM Entrada Where codigo In (Select distinct codigo FROM Dados WHERE Entrada.Codigo=Dados.Codigo And Dados.Status='S') group by codigo", dbOpenSnapshot)
 
Na tabela DADOS tenho o campo Quant. como faço para colocar nessa instrução se este campo for nulo me retornar 0?
     
Semmer
CURITIBA
PR - BRASIL
Postada em 09/06/2004 15:21 hs            
Experimente isto:
 
"select dados.codigo, sum(entrada.quant) as sentrada from dados left join entrada on dados.codigo = entrada.codigo"
 
O left join traz todos os codigos que existem em "dados" e soma apenas os que existirem em "entrada". Os que não existem ficarão nulos.
     
Irenko
BELO HORIZONTE
MG - BRASIL
Postada em 09/06/2004 16:51 hs            
Semmer, usei conforme abaixo e deu erro (Sintax error in join operation)
 
Set TbEntrada = BdBaixas.OpenRecordset("SELECT dados.Codigo,Entrada.codigo,sum(Entrada.Quant)AS sEntrada FROM Entrada,Dados left join Dados ON Dados.Codigo=Entrada.Codigo)group by codigo", dbOpenSnapshot)
 
Pergunto: tem jeito de adaptar essa sua sugestão na Instrução abaixo?
 
Set TbEntrada = BdBaixas.OpenRecordset("SELECT codigo,sum(Quant) AS sEntrada FROM Entrada Where codigo In (Select codigo FROM Dados WHERE Entrada.Codigo=Dados.Codigo And Dados.Status='S')group by codigo", dbOpenSnapshot)
     
Semmer
não registrado
Postada em 09/06/2004 17:13 hs   
O erro está no "FROM Entrada,Dados left join Dados", deixa igual a resposta anterior.

Quanto a adaptar a sua instrução, acho difícil, porque nela voce só consegue trazer registros da tabela Entrada e tem alguns codigos em Dados que não estão em Entrada.
Se voce precisar, antes do group by voce pode colocar "where dados.status='S' " para filtrar conforme o seu exemplo.Emoções
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página