Fórum INNER JOIN de 4 tabelas #452403
18/08/2013
0
SELECT c.contrato,e.empresa,sum(o.valor) as valor_o FROM objeto o INNER JOIN contratos c ON (c.contrato = o.contrato) INNER JOIN empresa e ON (c.empresa = e.id_empresa) group by c.contrato (valor_o correto)
Já na segunda quando incluo a tabela debito d ele retorna contrato, empresa corretos, mas valor_o e valor_r dobrado ou diferente.
SELECT c.contrato,e.empresa,sum(o.valor) as valor_o,sum(d.valor) as valor_r FROM objeto o INNER JOIN contratos c ON (c.contrato = o.contrato) INNER JOIN empresa e ON (c.empresa = e.id_empresa) INNER JOIN debito d ON (o.contrato = d.contrato) group by d.contrato
Gostaria de saber qual o erro e solução.
Claudio Galvao
Curtir tópico
+ 0Posts
18/08/2013
William
Meu conselho sem conhecer a estrutura do seu banco é, tente trabalhar com LEFT ou RIGHT JOIN ou use um subselect nessa instrução.
Gostei + 0
21/08/2013
Claudio Galvao
SELECT c.contrato,e.empresa,o.objeto, sum(o.valor) as valor_o,(select sum(valor) from debito where contrato = c.contrato) as valor_r FROM contratos c join empresa e on(c.empresa = e.id_empresa) join objeto o on(c.contrato = o.contrato) group by c.contrato
Gostei + 0
22/08/2013
William
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)