Fórum Iner join em 2 tabelas #134300
06/04/2010
0
P.CODIGO_BARRAS,
P.PRODUTO,
SUM(E.QUANTIDADE) AS QTENTRADA
FROM PRODUTOS P
INNER JOIN NF_ENTRADA_ITENS E ON(P.CODIGO = E.CODIGO)
GROUP BY CODIGO_BARRAS,PRODUTO ORDER BY 3 DESC. tentei colocar + um inner join + os valores retornam valores absurdos SELECT
P.CODIGO_BARRAS,
P.PRODUTO,
SUM(E.QUANTIDADE ) AS QTENTRADA,
SUM(V.QUANTIDADE ) AS QTSAIDAS
FROM PRODUTOS P
INNER JOIN NF_ENTRADA_ITENS E ON(P.CODIGO = E.CODIGO)
INNER JOIN VENDAS V ON(P.CODIGO = V.CODIGO) GROUP BY P.CODIGO_BARRAS,P.PRODUTO ORDER BY 3 DESC
Emerson Charles
Curtir tópico
+ 0Posts
06/04/2010
Emerson Charles
P.CODIGO_BARRAS,
P.PRODUTO,
SUM(E.QUANTIDADE) AS QTENTRADA
FROM PRODUTOS P
INNER JOIN NF_ENTRADA_ITENS E ON(P.CODIGO = E.CODIGO)
GROUP BY CODIGO_BARRAS,PRODUTO ORDER BY 3 DESC. tentei colocar + um inner join + os valores retornam valores absurdos SELECT
P.CODIGO_BARRAS,
P.PRODUTO,
SUM(E.QUANTIDADE ) AS QTENTRADA,
SUM(V.QUANTIDADE ) AS QTSAIDAS
FROM PRODUTOS P
INNER JOIN NF_ENTRADA_ITENS E ON(P.CODIGO = E.CODIGO)
INNER JOIN VENDAS V ON(P.CODIGO = V.CODIGO) GROUP BY P.CODIGO_BARRAS,P.PRODUTO ORDER BY 3 DESC
Gostei + 0
06/04/2010
Emerson Nascimento
P.CODIGO_BARRAS,
P.PRODUTO,
(SELECT COALESCE(SUM(E.QUANTIDADE),0)
FROM NF_ENTRADA_ITENS E
WHERE E.CODIGO = P.CODIGO) AS QTENTRADA,
(SELECT COALESCE(SUM(V.QUANTIDADE),0)
FROM VENDAS V
WHERE V.CODIGO = P.CODIGO) AS QTSAIDAS
FROM PRODUTOS P
se você preferir, pode fazer com stored procedure.
Gostei + 0
07/04/2010
Emerson Charles
só precisa agora agrupar os produtos iguais
ele esta mostrando um a um
SELECT
P.CODIGO_BARRAS,
P.PRODUTO,
(SELECT COALESCE(SUM(E.QUANTIDADE),0)
FROM NF_ENTRADA_ITENS E
WHERE E.CODIGO = P.CODIGO) AS QTENTRADA,
(SELECT COALESCE(SUM(V.QUANTIDADE),0)
FROM VENDAS V
WHERE V.CODIGO = P.CODIGO) AS QTSAIDAS
FROM PRODUTOS P
Gostei + 0
07/04/2010
Emerson Nascimento
Gostei + 0
07/04/2010
Emerson Charles
por questao de trabalhar com medicamentos.
uma amigo me disse que eu poderia usar views até me passou um exemplo.
o duro é que eu gostaria dessa solução que o cliente pudesse selecionar por periodo.
por enquanto Obrigado..
/* View: VSAIDAS, Owner: SYSDBA */
CREATE VIEW "VSAIDAS" (
"CODIGO",
"CODIGO_BARRAS",
"PRODUTO",
"QTSAIDAS"
) AS
SELECT
P.CODIGO,
P.CODIGO_BARRAS,
P.PRODUTO,
SUM(V.QUANTIDADE) as QTSAIDAS
FROM PRODUTOS P INNER JOIN VENDAS V
ON V.CODIGO = P.CODIGO
GROUP BY P.CODIGO, P.CODIGO_BARRAS, P.PRODUTO
;
CREATE VIEW "VENTRADAS" (
"CODIGO",
"CODIGO_BARRAS",
"PRODUTO",
"QTENTRADAS"
) AS
SELECT
P.CODIGO,
P.CODIGO_BARRAS,
P.PRODUTO,
SUM(E.QUANTIDADE) as QtdeEntradas,
FROM PRODUTOS P INNER JOIN NF_Entrada_ITENS E
ON E.CODIGO = P.CODIGO
GROUP BY P.CODIGO, P.CODIGO_BARRAS, P.PRODUTO
;
estou usando assim
SELECT
A.*,
B.QTSAIDAS FROM VENTRADAS A
LEFT OUTER JOIN VSAIDAS B ON A.CODIGO = B.CODIGO.
Gostei + 0
07/04/2010
Emerson Nascimento
SELECT
P.CODIGO_BARRAS,
P.PRODUTO,
MAX(P.DESCRICAO) DESCRICAO,
(SELECT COALESCE(SUM(E.QUANTIDADE),0)
FROM NF_ENTRADA_ITENS E
WHERE E.CODIGO = P.CODIGO) AS QTENTRADA,
(SELECT COALESCE(SUM(V.QUANTIDADE),0)
FROM VENDAS V
WHERE V.CODIGO = P.CODIGO) AS QTSAIDAS
FROM
PRODUTOS PGROUP BY
P.CODIGO_BARRAS,
P.PRODUTO
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)