Fórum ITENS VENDIDOS POR FORNECEDOR #612147
27/07/2020
0
FORNECEDOR - CADASTRO DE FORNECEDOR
MOVITENS - ITENS VENDIDOS
PRODUTOS - CADASTRO DE PRODUTOS
No cadastro de produtos tenho um campo onde consta o ultimo fornecedor (CODFOR).
Nesse caso como ficaria o script? Desde já agradeço a atenção de todos.
Gilson Silva
Curtir tópico
+ 0Posts
27/07/2020
Emerson Nascimento
SELECT [F.AAAAAAAA], -- campos da tabela FORNECEDOR [MI.AAAAAAAA], -- campos da tabela MOVITENS [P.AAAAAAAA], -- campos da tabela PRODUTOS FROM FORNECEDOR F INNER JOIN PRODUTOS P ON P.CODFOR = F.CODIGO INNER JOIN MOVITENS MI ON MI.CODPRO = P.CODIGO [WHERE] -- faça o filtro que desejar
fornecedores sem movimentação serão listados?
Gostei + 0
27/07/2020
Gilson Silva
Gostei + 0
27/07/2020
Emerson Nascimento
SELECT
[F.AAAAAAAA], -- campos da tabela FORNECEDOR
[MI.AAAAAAAA], -- campos da tabela MOVITENS
[P.AAAAAAAA], -- campos da tabela PRODUTOS
FROM
MOVITENS MI
INNER JOIN
PRODUTOS P ON P.CODIGO = MI.CODPRO
LEFT JOIN -- se não precisar apresentar dados do fornecedor, não precisa desta tabela
FORNECEDOR F ON F.CODIGO = P.CODFOR
WHERE
MI.DATA BETWEEN :V_DATAINI AND :V_DATAFIM
AND ( :V_CODFOR = 0 OR P.CODFOR = :V_CODFOR ) -- passe 0 para o parâmetro caso não queira filtrar um fornecedor
ORDER BY
MI.DATA, MI.DOCUMENTO, MI.CODPRO
Gostei + 0
29/07/2020
Gilson Silva
Gostei + 0
29/07/2020
Emerson Nascimento
se você quiser apresentar o total por produto:
SELECT
MI.CODPROD,
SUM(MI.QUANT) TOTAL
FROM
MOVITENS MI
INNER JOIN
PRODUTOS P ON P.CODIGO = MI.CODPRO
LEFT JOIN -- se não precisar apresentar dados do fornecedor, não precisa desta tabela
FORNECEDOR F ON F.CODIGO = P.CODFOR
WHERE
MI.DATA BETWEEN :V_DATAINI AND :V_DATAFIM
AND ( :V_CODFOR = 0 OR P.CODFOR = :V_CODFOR ) -- passe 0 para o parâmetro caso não queira filtrar um fornecedor
GROUP BY
MI.CODPROD
se você quiser apresentar o total por produto e fornecedor:
SELECT
P.CODFOR,
MI.CODPROD,
SUM(MI.QUANT) TOTAL
FROM
MOVITENS MI
INNER JOIN
PRODUTOS P ON P.CODIGO = MI.CODPRO
LEFT JOIN -- se não precisar apresentar dados do fornecedor, não precisa desta tabela
FORNECEDOR F ON F.CODIGO = P.CODFOR
WHERE
MI.DATA BETWEEN :V_DATAINI AND :V_DATAFIM
AND ( :V_CODFOR = 0 OR P.CODFOR = :V_CODFOR ) -- passe 0 para o parâmetro caso não queira filtrar um fornecedor
GROUP BY
P.CODFOR,
MI.CODPROD
note que os campos que não estão em funções de agregação precisam estar obrigatoriamente no GROUP BY
Gostei + 0
30/07/2020
Gilson Silva
Gostei + 0
30/07/2020
Emerson Nascimento
SELECT
P.CODFOR,
MI.CODPROD,
P.NOME,
P.MARCA,
SUM(MI.QUANT) TOTAL
FROM
MOVITENS MI
INNER JOIN
PRODUTOS P ON P.CODIGO = MI.CODPRO
LEFT JOIN -- se não precisar apresentar dados do fornecedor, não precisa desta tabela
FORNECEDOR F ON F.CODIGO = P.CODFOR
WHERE
MI.DATA BETWEEN :V_DATAINI AND :V_DATAFIM
AND ( :V_CODFOR = 0 OR P.CODFOR = :V_CODFOR ) -- passe 0 para o parâmetro caso não queira filtrar um fornecedor
GROUP BY
P.CODFOR,
MI.CODPROD,
P.NOME,
P.MARCAGostei + 0
30/07/2020
Gilson Silva
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)