Como fazer uma consulta, ao invés de três?

1. Como fazer uma consulta, ao invés de três?

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 25/06/2012 - 19:30h

Boa tarde,

Como muitos sabem, no access é possível fazer consultas com base em outras, porém no mysql não sei como funciona, sou novo na área.
Para simplificar minha dúvida, e para q vcs possam entender meu problema, vou descrever um problema menor, mas semelhante ao meu, e se alguém estiver disposto a me mostrar como resolvo isso, fico muito grato.

Tenho 3 tabelas:

tabProdutos
tabEntrada
tabSaida

Somente olhando os nomes da tabela, ja da pra ter uma idéia do que preciso, uma consulta que me mostre o estoque:

No access, eu tenho q fazer primeiramente duas consultas:

consultaEntrada:
SELECT DISTINCTROW tabEntrada.idProduto, Sum(tabEntrada.quantEntrada) AS nEntrada
FROM tabEntrada
GROUP BY tabEntrada.idProduto;

consultaSaida:
SELECT tabSaida.idProduto, Sum(tabSaida.quantSaida) AS nSaida
FROM tabSaida
GROUP BY tabSaida.idProduto;

e finalmente fazer a consulta em que é possível saber a quantidade de entrada, saída e estoque dos produtos.

consultaEstoque:
SELECT tabProdutos.idProduto, tabProdutos.descricao, consultaEntrada.nEntrada, consultaSaida.nSaida, [nEntrada]-[nSaida] AS nEstoque
FROM (tabProdutos INNER JOIN consultaEntrada ON tabProdutos.idProduto = consultaEntrada.idProduto) INNER JOIN consultaSaida ON tabProdutos.idProduto = consultaSaida.idProduto;

É possível fazer tudo isso acima, em apenas uma consulta?
Como ficaria a instrução sql?


  


2. Re: Como fazer uma consulta, ao invés de três?

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 27/06/2012 - 00:49h

Use o JOIN

SELECT campos_desejados_de_tabprodutos
FROM tabProdutos p
JOIN tabEntrada e ON p.id = e.id_produto
JOIN tabSaida s ON p.id = s.id_produto



Você conhece melhor a estrutura das suas tabelas, mas basicamente elas tem chaves estrangeiras que devem ser usada para fazer a ligação nos JOINs ;-)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts