Pergunte aqui
1

Como faço para fazer somas especiais em uma consulta?

perguntadas 2019-07-09 22:29:14 +0200

imagem do gravatar de S1CAIME

Saudações,

Minha consulta tem dados que existem para uns registros e não existem para outros. Dessa forma, na execução da consulta aparecem células com dados numéricos (correspondentes aos registros existentes) e células em branco (correspondentes aos registros inexistentes e que não foram cadastrados no banco de dados). Quando tento somar as células com dados numéricos, funciona normalmente. Quando incluo alguma das células em branco surge um erro e a consulta não executa.

C:\fakepath\Consulta.jpeg

Conforme a imagem, ao somar os produtos 1, 2 e 3 a consulta roda normalmente com a soma criada. Porém, ao inserir um dos outros 2 campos ele não considera a célula vazia como sendo ZERO. Portanto, não executa a soma e aparece um erro gigante na tela, inviabilizando a execução da consulta. Vocês podem me ajudar?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Ola @S1CAIME, seja bem vindo ao Grupo.

Uso muito pouco do Base, creio que deva digitar zero nos campos numéricos que não tenham informação, e não deixar em branco, que aparentemente esta considerando texto.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-07-09 22:51:19 +0200 )editar

@S1CAIME, já verificou o tipo de dados destes 02 campos? Estão como Número ou Texto?

imagem do gravatar de ConradoConrado ( 2019-07-10 12:53:28 +0200 )editar

É uma consulta de outras consultas. Ou seja, a pessoa A compra o produto 1 e não compra o produto 2. Dessa forma, a pessoa A vai existir na consulta do produto 1 e não existirá na consulta do produto 2. Quando eu faço a consulta final, que une todas as outras consultas que eu crie e relacionei, aparecem essas células em branco que eu não consigo somar.

imagem do gravatar de S1CAIMES1CAIME ( 2019-07-10 16:19:00 +0200 )editar

1 Resposta

1

respondidas 2019-07-15 22:44:43 +0200

imagem do gravatar de Grafeno

Boa tarde,

Supondo que você está usando o HSQLDB incorporado, pode-se usar a função IFNULL() para trocar os valores Null para zero na execução da consulta.

Exemplo:

SELECT "Id", "Campo1", "Campo2", IFNULL( "Campo1", 0 ) + IFNULL( "Campo2", 0 ) "Soma dos Campos" FROM "Tabela1"

Atte,

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-07-09 22:29:14 +0200

Lidas: 24 vezes

Última atualização: ontem