SQL Resulta em Duas Linhas e Preciso só uma

01/04/2006

0

Tenho a seguinte instruçao SQL:
´
SELECT P.CODIGO, P.DESCRICAO, P.UNIDADE, P.MARCA, P.ESTOQUEMINIMO, P.ATUAL, P.QTDE_EM_CONSIG,
CASE ME.OPERACAO WHEN ´E´ THEN
SUM(ME.QUANTIDADE) END AS ENTRADAS,
CASE ME.OPERACAO WHEN ´S´ THEN
SUM(ME.QUANTIDADE) END AS SAIDAS
FROM PRODUTOS P
LEFT JOIN MOVIESTOQUE ME ON (ME.PRODUTO = P.CODIGO AND ME.DATA >:VDataPosicao)
GROUP BY
P.CODIGO, P.DESCRICAO, P.UNIDADE, P.MARCA, P.ESTOQUEMINIMO, P.ATUAL, P.QTDE_EM_CONSIG, ME.OPERACAO
´

O problema é que ela me traz sempre duas linhas para cada resultado. Possivelmente uma das entradas e outra das saídas.
Quero que fique tudo numa única linha, mas não consigo, pois tenho que colocar o ME.OPERACAO no group.
Como posso fazer para que liste apenas uma linha?

Obrigado


Valdirdill

Valdirdill

Responder

Posts

05/04/2006

Vanquisher

as linhas retornadas pela query sao identicas :?:


Responder

05/04/2006

Valdirdill

Consegui a solução
´
SELECT P.CODIGO, P.DESCRICAO, P.ATUAL, P.UNIDADE, P.MARCA, P.ESTOQUEMINIMO, SUM(ME.QUANTIDADE*(CASE WHEN ME.OPERACAO = ´E´ THEN 1 END)) AS ENTRADAS, SUM(ME.QUANTIDADE*(CASE WHEN ME.OPERACAO = ´S´ THEN 1 END)) AS SAIDAS FROM PRODUTOS P
LEFT JOIN MOVIESTOQUE ME ON (ME.PRODUTO = P.CODIGO AND ME.DATA >:VDataPosicao) WHERE P.ATUAL > 0
GROUP BY
P.CODIGO, P.DESCRICAO, P.ATUAL, P.UNIDADE, P.MARCA, P.ESTOQUEMINIMO ´

Continuo com um problema: essa rotina me traz os produtos com P.ATUAL > 0 hoje e eu precisaria que mostrasse os produtos com P.ATUAL > 0 em VDataPosicao

Podes me ajudar?

Obrigado.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar