Estou precisando fazer uma SELECT
usando 2 TABLES
com LEFT JOIN
obtenho sucesso na query porém ela me traz algumas COLUMN
com resultados errados.
Antes de publicar a query com LEFT JOIN
vou mostrar os resultados que deveriam vir separadamente:
tbCustosProd
select ManuPart,
sum(Qtd),
avg(CustoUnit),
sum(CustoTotal)
from tbCustosProd
where ManuPart='RC 018'
ManuPart----sum(Qtd)----avg(ValorUnit)----sum(ValorTotal)
---RC 018----------164--------------10.214-------------1694.81------
+++++++++++++++++++++++++++++++++++++++++++++++++++++
**tbEntregas**
select ManuPart,
sum(Qtd),
avg(ValorUnit),
sum(ValorTotal)
from tbEntregas
where Qtd > 0 and ManuPart='RC 018';
ManuPart----sum(Qtd)----avg(CustoUnit)----sum(CustoTotal)
---RC 018----------258--------------18.768-------------4939.70-------
Usei como exemplo um determinado item: RC 018 apenas para termos como parametro a diferença nos resultados; tbCustosProd e tbEntregas são as tabelas,
segue a Query com LEFT JOIN
:
select entregas.ManuPart,
sum(entregas.Qtd),
avg(entregas.ValorUnit),
sum(entregas.ValorTotal),
sum(custos.Qtd),
avg(custos.CustoUnit),
sum(custos.CustoTotal)
from tbEntregas entregas left join tbCustosProd custos
on custos.ManuPart = entregas.ManuPart
group by ManuPart;
Aqui não uso uma condição para o ManuPart
pois quero buscar todos os itens da tbEntregas; porém a ROW
que representa o item acima (RC 018) voltar com os seguintes resultados:
entregas.ManuPart = RC 018 certo.
Sum(entregas.Qtd) = 2322 errado
avg(entregas.ValorUnit) = 18.768 certo
sum(entregas.ValorTotal) = 44457.30 errado
sum(custos.Qtd) = 7052 errado
avg(custos.CustoUnit) = 10.214 certo
sum(custos.CustoTotal) = 72876.83 errado
Comparando com as Query individuais lá em cima você pode ver as COLUMNS
com os resultados divergentes.
Não consigo encontrar a forma certa de formar essa Query, alguém pode me ajudar ?