Dúvida com query

Delphi

17/03/2008

Amigos, a query abaixo parece estar correta, mas não está. Eu preciso que a tabela virtual ACUMULADO me traga itens que também não existam na virtual ACUM_ITEM, o que não está ocorrendo, ou seja, tenho na tabela SAC_VEN itens com CD_SEC = 2 e não possuo esses itens na tabela NF_ITEM. O que eu quero é mostrar esses itens também. O LEFT não está me trazendo esses itens. Já fiz LEFT com todas as tabelas e não dá. Com INNER não vai funcionar mesmo. O que devo mudar na minha query para obter o resultado esperado? Grato desde já!!!!

SELECT SEC.CD_SEC ,SEC.DESCRICAO ,SUM(COALESCE((ACUM_ITEM.ITEM),0)) ´VENDA DO DIA´ ,SUM(COALESCE((ACUM_SEC.SECAO),0) + COALESCE((ACUM_ITEM.ITEM),0)) ´ACUMULADO´ FROM TB_SAC_SECAO SEC INNER JOIN (SELECT NF_ITEM.CD_SEC, SUM(NF_ITEM.QT_ITEM) ITEM FROM TB_SAC_NF_CAPEADOR NF_CAPEADOR, TB_SAC_NF_ITEM NF_ITEM WHERE NF_CAPEADOR.NU_CX = NF_ITEM.NU_CX AND NF_CAPEADOR.NU_NF = NF_ITEM.NU_NF AND NF_CAPEADOR.SR_NF = NF_ITEM.SR_NF AND NF_CAPEADOR.ST_CANC = 0 AND ((NF_CAPEADOR.SR_NF = ´D2´) OR (NF_CAPEADOR.SR_NF = ´B2´ AND NF_CAPEADOR.CD_CFOP = 6102)) GROUP BY NF_ITEM.CD_SEC) ACUM_ITEM ON (ACUM_ITEM.CD_SEC = SEC.CD_SEC) LEFT JOIN (SELECT CD_SEC, SUM(QT_SEC) SECAO FROM TB_SAC_SEC_VEN WHERE DT_SEC >= ´2008-Mar-01´ AND DT_SEC <= ´2008-Mar-08´ GROUP BY CD_SEC) ACUM_SEC ON (ACUM_SEC.CD_SEC = SEC.CD_SEC) GROUP BY SEC.CD_SEC ,SEC.DESCRICAO



Paulo

Paulo

Curtidas 0
POSTAR