Array
(
)

SQL Resulta em Duas Linhas e Preciso só uma

Valdirdill
   - 01 abr 2006

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


Vanquisher
   - 05 abr 2006

as linhas retornadas pela query sao identicas :?:


Valdirdill
   - 05 abr 2006

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.