Tenho um problema com a soma total de 3 tabelas, procurei uma solução mas não encontrei, onde existe um critério de soma classificada por data. Criei um campo nessa consulta com a expressão somando os campos, porém se uma das tabelas não tiver valor em uma data, essa data não aparece com a soma. Só aparece se tiver dados na mesma data nas 3 tabelas.
3 participantes
[Resolvido]Soma de dados para 3 tabelas com critério.
cristiano.vaz- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 48
Registrado : 12/11/2020
cristiano.vaz- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 48
Registrado : 12/11/2020
Alterei INNER JOIN para LEFT OUTER JOIN, mas ainda não resolveu, teria que ser algo que unisse todas as tabelas.
Alexandre Neves- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 8496
Registrado : 05/11/2009
Boa noite
Disponibilize dados significativos para se trabalhar
Disponibilize dados significativos para se trabalhar
.................................................................................
Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
cristiano.vaz- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 48
Registrado : 12/11/2020
Bom dia,
Nessa consulta ele retorna a soma do saldo em 3 lojas, pelo campo [Last Name], mas somente se o cliente tiver Saldo nas 3, se ele tiver saldo somente na Loja1 ou Loja1 e Loja2, ele não retorna saldo nenhum para ele.
Fiz com LEFT JOIN e aproximei do que eu queria, mas só dá certo se o cliente tiver saldo em sequencias de lojas.
Acredito que tenha que transformar de INNER JOIN para UNION, mas não consegui fazer.
SELECT [Cadastro].[Last Name], [Loja1]![Saldo] + [Loja2]![Saldo]+ [Loja3]![Saldo] As Saldo_Total
FROM (([Cadastro] INNER JOIN [Loja2].[Last Name] ON [Cadastro].[Last Name] = [Loja2].[Last Name] INNER JOIN Loja3 ON [Cadastro].[Last Name] = [Loja3].[Last Name] INNER JOIN Loja1 ON [Cadastro].[Last Name] = [Loja1].[Last Name]
Alexandre Neves- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 8496
Registrado : 05/11/2009
Boa noite,
Nomeie de forma normalizada, ajuda muito
Não disponibilizou dados para se trabalhar mas vamos tentar
SELECT [Last Name], Sum(Saldo) Saldo_Total FROM (SELECT [Last Name], Saldo FROM Loja1 UNION SELECT [Last Name], Saldo FROM Loja2 UNION SELECT [Last Name], Saldo FROM Loja3) GROUP BY [Last Name]
Nomeie de forma normalizada, ajuda muito
Não disponibilizou dados para se trabalhar mas vamos tentar
SELECT [Last Name], Sum(Saldo) Saldo_Total FROM (SELECT [Last Name], Saldo FROM Loja1 UNION SELECT [Last Name], Saldo FROM Loja2 UNION SELECT [Last Name], Saldo FROM Loja3) GROUP BY [Last Name]
.................................................................................
Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
Avelino Sampaio- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3900
Registrado : 04/04/2010
Olá!
Pois é, temos que ficar adivinhando. Um pequeno exemplo, como sugerido pelo senhor Alexandre, seria de grande ajuda.
Minha adivinhação seria acrescentar a função NZ() ao cálculo.
Sucesso!
Pois é, temos que ficar adivinhando. Um pequeno exemplo, como sugerido pelo senhor Alexandre, seria de grande ajuda.
Minha adivinhação seria acrescentar a função NZ() ao cálculo.
... nz([Loja1]![Saldo]) + nz([Loja2]![Saldo])+ nz([Loja3]![Saldo]) As Saldo_Total ...
Sucesso!
.................................................................................
Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces
Clique AQUI e analise o custo beneficio do material oferecido.
cristiano.vaz- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 48
Registrado : 12/11/2020
Vou tentar ser mais claro, pois o que detalhei achei que já estava entendível sobre o que eu queria, sem exemplo.
Vou exemplificar assim:
Tenho uma tabela [CADASTRO], e 3 tabelas diferentes "[Loja1],[Loja2],[Loja3]", uma para cada loja.
Obs.: Não tenho a possibilidade de fazer só uma tabela para as 3 lojas, pois uma delas tem relacionamento com outra tabela, e somente uma.
Campos das Tabelas:
[Cadastro]:
[Last Name]
[Loja1]:
[Last Name],[Saldo]
[Loja2]:
[Last Name],[Saldo]
[Loja3]:
[Last Name],[Saldo]
Obs. [Last Name] pode ocorrer de ter em somente uma, duas, ou nas três tabelas "[Loja1],[Loja2],[Loja3]".
Quero uma consulta que traga todos os campos [Last Name] e a soma de todos os saldos das três lojas, até os que não tem saldo em nenhuma das lojas preciso que venha demonstrando como zero.
Obs. Como disse em cima pensei em resolver usando UNION, mas não tive sucesso, pois se um [LAST NAME] ter o mesmo valor no campo [Saldo] em mais de uma tabela, ele considera somente um dos valores.
Vou exemplificar assim:
Tenho uma tabela [CADASTRO], e 3 tabelas diferentes "[Loja1],[Loja2],[Loja3]", uma para cada loja.
Obs.: Não tenho a possibilidade de fazer só uma tabela para as 3 lojas, pois uma delas tem relacionamento com outra tabela, e somente uma.
Campos das Tabelas:
[Cadastro]:
[Last Name]
[Loja1]:
[Last Name],[Saldo]
[Loja2]:
[Last Name],[Saldo]
[Loja3]:
[Last Name],[Saldo]
Obs. [Last Name] pode ocorrer de ter em somente uma, duas, ou nas três tabelas "[Loja1],[Loja2],[Loja3]".
Quero uma consulta que traga todos os campos [Last Name] e a soma de todos os saldos das três lojas, até os que não tem saldo em nenhuma das lojas preciso que venha demonstrando como zero.
Obs. Como disse em cima pensei em resolver usando UNION, mas não tive sucesso, pois se um [LAST NAME] ter o mesmo valor no campo [Saldo] em mais de uma tabela, ele considera somente um dos valores.
cristiano.vaz- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 48
Registrado : 12/11/2020
up
cristiano.vaz- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 48
Registrado : 12/11/2020
Hoje voltei a tentar esse procedimento e felizmente consegui, vou deixar aqui como eu fiz para ajudar alguém que for buscar nesse tópico.
Criei um campo com valor padrão para as 3 lojas com uma letra para diferenciar cada uma delas, e depois fiz uma consulta UNION com as 3 tabelas, assim caso alguma tenha o mesmo valor esse campo novo criado não deixa elas unirem. Também fiz uma nova consulta usando a anterior, somando os saldos e agora desconsiderando o campo novo, para assim ter os saldos do mesmo cliente juntos. Depois fiz uma consulta usando um LEFT JOIN entre a tabela CADASTRO e a consulta feita anteriormente e deu certo. Obrigado a todos.
Criei um campo com valor padrão para as 3 lojas com uma letra para diferenciar cada uma delas, e depois fiz uma consulta UNION com as 3 tabelas, assim caso alguma tenha o mesmo valor esse campo novo criado não deixa elas unirem. Também fiz uma nova consulta usando a anterior, somando os saldos e agora desconsiderando o campo novo, para assim ter os saldos do mesmo cliente juntos. Depois fiz uma consulta usando um LEFT JOIN entre a tabela CADASTRO e a consulta feita anteriormente e deu certo. Obrigado a todos.
» [Resolvido]Consulta para excluir dados com duas tabelas como parametro
» [Resolvido]Copiar dados de diversas tabelas para uma so
» [Resolvido]Exportar dados para duas tabelas ao mesmo
» [Resolvido]Consulta para adicionar dados a tabelas relacionadas
» Identificar/editar dados com critério (consulta com 3 tabelas)
» [Resolvido]Copiar dados de diversas tabelas para uma so
» [Resolvido]Exportar dados para duas tabelas ao mesmo
» [Resolvido]Consulta para adicionar dados a tabelas relacionadas
» Identificar/editar dados com critério (consulta com 3 tabelas)