GARANTIR DESCONTO

Fórum Como montar esse Select? #59220

04/12/2007

0

Tenho 2 tabelas.

Tabela MOVIMENTOS
DATA - PRODUTO - MOVIMENTO - QUANTIDADE - VALOR

MOVIMENTO pode ser: E para entradas e S para saidas.

Tabela PRODUTOS
PRODUTO - NOME

Como posso gerar uma instrução sql que me retorne:

1 - Código do Produto
2 - Nome do Produto
3 - Quantidade de Entradas no periodo
4 - Quantidade de Saidas no periodo
5 - Total de entradas no periodo
6 - Total de saidas no periodo

Tipo assim

PRODUTO - NOME - QUANTENT - TOTALENT - QUANTSAI - TOTALSAI
----------------------------------------------------------------------------------------------------
000001 - Disquete - 100 - 120,35 - 2000 - 300,00
000002 - Papel - 200 - 200,35 - 1000 - 80,00
000003 - Lapis - 50 - 60,35 - 1000 - 20,00

Alguem poderia me ajudar???


Fsneto

Fsneto

Responder

Posts

04/12/2007

Renan.cb

cara nao tenho como testar aqui onde estou, mas deve ser mais ou menos assim:

SELECT m.data, m.movimento, m.quantidade,
p.produto, p.nome, SUM(m.valor) AS total
FROM Movimentos AS m
INNER JOIN Produtos AS p
ON (p.produto=m.produto)
WHERE m.movimenyo = ´S´

Não sei se está correto, mas de repente pode ajudá-lo.
T+!


Responder

Gostei + 0

04/12/2007

Gandalf.nho

Se seu banco for FB 1.5 ou superior, tente isso:

SELECT PRODUTOS.PRODUTO, PRODUTOS.NOME, SUM(QUANTIDADE*(CASE WHEN MOVIMENTO = ´E´ THEN 1 ELSE 0 END)) AS QUANTENT, SUM(QUANTIDADE*(CASE WHEN MOVIMENTO = ´S´ THEN 1 ELSE 0 END)) AS QUANTSAI, SUM(VALOR*(CASE WHEN MOVIMENTO = ´E´ THEN 1 ELSE 0 END)) AS TOTALENT, SUM(VALOR*(CASE WHEN MOVIMENTO = ´S´ THEN 1 ELSE 0 END)) AS TOTALSAI FROM PRODUTOS INNER JOIN MOVIMENTOS
ON PRODUTOS.PRODUTO = MOVIMENTOS.PRODUTO WHERE DATA BETWEEN :DATAINICIO AND :DATATERMINO



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar