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

(Resolvido) Junção de 3 tabelas


marcus xavier

Pergunta

Bom dia a todos.

Estou tentando fazer uma junção com o seguinte select.

select * 
from estoque, produtos, fornecedor 
where estoque.id_produto_id = produtos.id_produtos and fornecedor.id_fornecedor = produtos.fornecedor_id_fornecedor
and estoque.qtd_produto_estoque >0 
order by nome_produto
O que eu preciso?? tenho 3 tabelas..Uma de cadastro de produtos, outra de fornecedores e uma de estoque. Gostaria de somar toda a quantidade dde produtos no estoque, onde os id´s de produtos e de fornecedor forem iguais em ambas as tabelas. O select acima me retorna esses resultados!
Produtos     Fornecedor     Quantidade

bbb     coca-cola     2
bbb     coca-cola     20
bbb     coca-cola     99
bbb     coca-cola     99
bbb     coca-cola     2
bbb     coca-cola     33
bbb     coca-cola     99
bbb     coca-cola     2
bbb     coca-cola     122
bbb     coca-cola     99
bbb     coca-cola     2
carla Brahma     20
carla Brahma     20
carla Brahma     20
carla Brahma     20
carla Brahma     20
ccc     coca-cola     1
ccc     coca-cola     12
ccc     coca-cola     2
ccc     coca-cola     12
ccc     coca-cola     3
ccc     coca-cola     2
ccc     coca-cola     12
joao     coca-cola     2
joao     coca-cola     2
joao     coca-cola     4
joao     coca-cola     2
joao     coca-cola     2
joao     coca-cola     33
joao     coca-cola     4
joao     coca-cola     10
joao     coca-cola     2
joao     coca-cola     122
julio     coca-cola     1221
julio     coca-cola     33
julio     coca-cola     12
julio     coca-cola     1
julio     coca-cola     12
julio     coca-cola     33
julio     coca-cola     1
julio     coca-cola     12
julio     coca-cola     1
julio     coca-cola     2
pp     coca-cola     33
o que eu precisaria na verdade é algo assim!
Produto Fornecedor Quantidade

joao      coca-cola          250
julio      coca-cola          300
pp         coca-cola          400

O que precisaria fazer?

JOINS DIFERENCIADOS ou SUBCONSULTAS???

NA verdade não sei que rumo tomar!

podem me ajudar?

desde já agradeco!

Atenciosamente,

Editado por Denis Courcy
Melhorar visualização do código
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
O que eu preciso?? tenho 3 tabelas..Uma de cadastro de produtos, outra de fornecedores e uma de estoque.

Gostaria de somar toda a quantidade dde produtos no estoque, onde os id´s de produtos e de fornecedor forem iguais em ambas as tabelas.

o que eu precisaria na verdade é algo assim!

Produto Fornecedor Quantidade

joao      coca-cola          250
julio      coca-cola          300
pp         coca-cola          400

O que precisaria fazer?

Colocar a cláusula GROUP BY após a cláusula WHERE e antes da cláusula ORDER BY.

Link para o comentário
Compartilhar em outros sites

  • 0
O que eu preciso?? tenho 3 tabelas..Uma de cadastro de produtos, outra de fornecedores e uma de estoque.

Gostaria de somar toda a quantidade dde produtos no estoque, onde os id´s de produtos e de fornecedor forem iguais em ambas as tabelas.

o que eu precisaria na verdade é algo assim!

Produto Fornecedor Quantidade

joao      coca-cola          250
julio      coca-cola          300
pp         coca-cola          400

O que precisaria fazer?

Colocar a cláusula GROUP BY após a cláusula WHERE e antes da cláusula ORDER BY.

Denis, boa tarde e obrigado pela ajuda!

select *

from estoque, produtos, fornecedor

where estoque.id_produto_id = produtos.id_produtos and fornecedor.id_fornecedor = produtos.fornecedor_id_fornecedor

and estoque.qtd_produto_estoque >0

group by qtd_produto_estoque order by nome_produto

modifiquei o select, porem ele não agrupa as quantidades! ! !

=]

Link para o comentário
Compartilhar em outros sites

  • 0
Denis, boa tarde e obrigado pela ajuda!

select *
from estoque, produtos, fornecedor
where estoque.id_produto_id = produtos.id_produtos and fornecedor.id_fornecedor = produtos.fornecedor_id_fornecedor
and estoque.qtd_produto_estoque >0
group by qtd_produto_estoque order by nome_produto
modifiquei o select, porem ele não agrupa as quantidades! ! !
SELECT p.nome_produto, f.nome_fornecedor, SUM(e.qtd_produto_estoque) AS quantidade
FROM estoque e
INNER JOIN produtos p ON e.id_produto_id = p.id_produtos
INNER JOIN fornecedor f ON f.id_fornecedor = p.fornecedor_id_fornecedor
WHERE e.qtd_produto_estoque > 0
GROUP BY p.nome_produto

Não sei se o nome do campo "nome do fornecedor" é este: nome_fornecedor

Se não for, troca.

Link para o comentário
Compartilhar em outros sites

  • 0
Denis, boa tarde e obrigado pela ajuda!

select *
from estoque, produtos, fornecedor
where estoque.id_produto_id = produtos.id_produtos and fornecedor.id_fornecedor = produtos.fornecedor_id_fornecedor
and estoque.qtd_produto_estoque >0
group by qtd_produto_estoque order by nome_produto
modifiquei o select, porem ele não agrupa as quantidades! ! !
SELECT p.nome_produto, f.nome_fornecedor, SUM(e.qtd_produto_estoque) AS quantidade
FROM estoque e
INNER JOIN produtos p ON e.id_produto_id = p.id_produtos
INNER JOIN fornecedor f ON f.id_fornecedor = p.fornecedor_id_fornecedor
WHERE e.qtd_produto_estoque > 0
GROUP BY p.nome_produto

Não sei se o nome do campo "nome do fornecedor" é este: nome_fornecedor

Se não for, troca.

Denis,

Obrigado!

Deu tudo certo!

Exatamente como eu precisava.

Atenciosamente,

Marcus Xavier

Analista desenvolvedor PHP

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...