× Linguagem de Programação ADVPL

Perguntas Query para apurar Qtd Faturamento

Mais
10 anos 8 meses atrás #21588 por alex.magno
Boa tarde,

Estou precisando fazer uma query para verificar a quantidade de produtos faturados num período.
Montei desse jeito:
SELECT D2_COD, SUM(D2_QUANT) AS QTD
FROM SD2010
WHERE D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND D_E_L_E_T_ <> '*'
GROUP BY D2_COD

Eu preciso considerar o status da NF, para não considerar NF com status "NF não autorizada".
Como considerar o status nessa query?

Valeu!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21591 por lalberto
Respondido por lalberto no tópico Query para apurar Qtd Faturamento
RODA AI NÃO TESTEI OK.


SELECT D2_COD, SUM(D2_QUANT) AS QTD
FROM SD2010, SF4010, SF2010
WHERE D2_FILIAL = '01' AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND F2_FILIAL = F2_FILIAL AND F2_DOC = D2_DOC AND F2_SERIE = D2_SERIE
AND F2_CLIENTE = D2_CLIENTE AND F2_LOJA = D2_LOJA
AND F4_FILIAL = D2_FILIAL
AND F4_CODIGO = D2_TES -- AMARRA TES A TABELA DE TES
AND F4_DUPLIC = 'S' -- GERA DUPLICATA
AND F4_ESTOQUE = 'S' -- MOVIMENTA ESTOQUE
AND F2_TIPO = 'N' -- NOTA NORMAL
AND F2_CHVNFE <> '' -- CHAVE NFE PREENCHIDA NOTA VALIDADA
AND SF2010.D_E_L_E_T_ <> '*'
AND SF4010.D_E_L_E_T_ <> '*'
AND SD2010.D_E_L_E_T_ <> '*'
GROUP BY D2_COD

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21643 por alex.magno
Respondido por alex.magno no tópico Query para apurar Qtd Faturamento
Luiz, boa tarde

Deu certo sim, só precisei fazer um ajuste.
Provavelmente você esqueceu de alterar o nome do campo no primeiro AND
onde está AND F2_FILIAL = F2_FILIAL eu alterei para AND F2_FILIAL = D2_FILIAL.

Segue a instrução atualizada:
SELECT D2_COD, SUM(D2_QUANT) AS QTD
FROM SD2010, SF4010, SF2010
WHERE D2_FILIAL = '01' AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND F2_FILIAL = D2_FILIAL AND F2_DOC = D2_DOC AND F2_SERIE = D2_SERIE
AND F2_CLIENTE = D2_CLIENTE AND F2_LOJA = D2_LOJA
AND F4_FILIAL = D2_FILIAL
AND F4_CODIGO = D2_TES -- AMARRA TES A TABELA DE TES
AND F4_DUPLIC = 'S' -- GERA DUPLICATA
AND F4_ESTOQUE = 'S' -- MOVIMENTA ESTOQUE
AND F2_TIPO = 'N' -- NOTA NORMAL
AND F2_CHVNFE <> '' -- CHAVE NFE PREENCHIDA NOTA VALIDADA
AND SF2010.D_E_L_E_T_ <> '*'
AND SF4010.D_E_L_E_T_ <> '*'
AND SD2010.D_E_L_E_T_ <> '*'
GROUP BY D2_COD

Valeu pela força!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21656 por sandroulisses
SELECT D2_COD, SUM(D2_QUANT) AS QTDFAT, SUM(D2_TOTAL) AS VLRFAT FROM SD2010 D2
INNER JOIN SF4010 F4 ON F4_FILIAL = D2_FILIAL --USE SOMENTE SE A SF4 FOR EXCLUSIVA
AND F4_CODIGO = D2_TES
AND F4_DUPLIC = 'S'
AND F4_ESTOQUE = 'S'
AND F4.D_E_L_E_T_=''
INNER JOIN SF2010 F2 ON F2_FILIAL=D2_FILIAL
AND F2_COD=D2_DOC
AND F2_SERIE=D2_SERIE
AND F2_CLIENTE=D2_CLIENTE
AND F2_LOJA=D2_LOJA
AND F2_TIPO='N'
AND F2_CHVNFE<>''
AND F2.D_E_L_E_T_=''
WHERE D2_FILIAL = '01'
AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND D2.D_E_L_E_T_=''
GROUP BY D2_COD

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.095 segundos
Joomla templates by a4joomla