Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Somando Valores do mesmo campo com condições diferente


DaviRodriguesSP

Pergunta

Olá, estou precisando de ajuda para criar um relatório que exige o seguinte:

Tabelas: CadastroA, ValoresA

Tabela CadastroA tem os campos = id, nome, endereco.....etc

Tabela ValoresA tem os campos  = id, tipo_valor, tipo_entrada, valor.....etc

o que desejo: fazer inner join entre as tabelas CadastroA e ValoresA para mostrar o  campo "nome" da tabela CadastroA e somar os registro do campo "valor" da tabela ValoresA com as condições dos campos  "tipo_valor" e "tipo_entrada".

image.png.6678c31360b2cb6762217ea69557c84c.png

image.png.9cf5bc0faa2c265b8f4085e076c449ad.png

 

image.png.f5125f345e26dc526de536a43007e6a6.png

 

A query que tenho esta e ela me traz o valor que desejo separado, mais preciso juntar em um result só.

 

select c.nome as 'CadastroA', sum(fe.valor) As 'Tipo A' from valoresa fe
inner join cadastria c on id = c.id
where tipo_a = 'cartao'
group by c.nome;

 

Se tiver alguma coisa errada com minha postagem me desculpa, primeira vez que posto e estou com uma certa pressa pra entregar esta consulta.

 

Desde já obrigado.

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Se não me falha a memória o código será mais ou menos assim, supondo que o id da tabela valoresA corresponda ao mesmo id da tabela cadastoA:

SELECT c.nome, SUM(IF(v.tipo_entrada = 'cartao', v.valor, 0)) As 'Cartao', 
SUM(IF(v.tipo_entrada = 'dinheiro', v.valor, 0)) As 'Dinheiro' 
from valoresA v
inner join cadastroA c on c.id = v.id
group by c.nome;

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 13/04/2019 em 15:50, Denis Courcy disse:

Se não me falha a memória o código será mais ou menos assim, supondo que o id da tabela valoresA corresponda ao mesmo id da tabela cadastoA:


SELECT c.nome, SUM(IF(v.tipo_entrada = 'cartao', v.valor, 0)) As 'Cartao', 
SUM(IF(v.tipo_entrada = 'dinheiro', v.valor, 0)) As 'Dinheiro' 
from valoresA v
inner join cadastroA c on c.id = v.id
group by c.nome;

 

 

Em 10/04/2019 em 16:05, Leonardo Persan disse:

A tabela ValoresA deve ter mais um campo id_cadastroa, por exemplo, para fazer realmente referencia à tabela CadastroA.

O campo ValoresA.id por padrão deve ser uma PK, a FK deve ser outro campo.

valeu galera, consegui o que queria, obrigado

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...