× Linguagem de Programação ADVPL

Perguntas [Ajuda] Query

Mais
10 anos 1 semana atrás #26115 por ftvernier
[Ajuda] Query foi criado por ftvernier
Fala Galera Bom Dia,

Seguinte estou precisando de uma ajuda com uma query...

Tenho um relatório que captura alguns dados na SE2 porém eu também precisava capturar a última movimentação dessa nota na SE5.

Alguém poderia me ajudar a ajustar a query abaixo:

SELECT DISTINCT 'SE2' TIPO, CTT_CUSTO, CTT_CLASSE, CTT_CCSUP, CTT_DESC01, E2.E2_NUM, E2.E2_PREFIXO, E2.E2_PARCELA, E2.E2_TIPO, E2.E2_FORNECE, E2.E2_LOJA, E2.E2_VALOR VALOR_PAGO, E2.E2_VALOR VALOR_TOTAL
FROM CTT010 CTT (NOLOCK)
INNER JOIN SE2010 E2 (NOLOCK)
ON E2_SALDO = 0 AND E2_TIPO<>'NDF' And E2.E2_CCUSTO = CTT.CTT_CUSTO AND E2.D_E_L_E_T_ = '' AND E2_BAIXA BETWEEN '20140901' AND '20140930'
WHERE CTT_BLOQ <> '1' AND CTT_CLASSE <> '1' AND CTT.D_E_L_E_T_ = ''
AND CTT.CTT_CUSTO BETWEEN '2010004 ' AND '2010004 '
AND NOT EXISTS(SELECT 'Z' FROM SDE010 DE (NOLOCK) WHERE DE.DE_DOC = E2.E2_NUM AND DE.DE_SERIE = E2.E2_PREFIXO AND DE.DE_FORNECE = E2.E2_FORNECE AND DE.DE_LOJA = E2.E2_LOJA AND DE.D_E_L_E_T_ = '')
AND NOT EXISTS(SELECT 'Z' FROM SE5010 E5 (NOLOCK) WHERE E5.E5_NUMERO = E2.E2_NUM AND E5.E5_PREFIXO = E2.E2_PREFIXO AND E5.E5_CLIFOR = E2.E2_FORNECE AND E5.E5_LOJA = E2.E2_LOJA AND E5.D_E_L_E_T_ = ''AND E5.E5_MOTBX IN ('DAC','CMP'))
AND E2_TIPO <> 'PA'

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 1 semana atrás #26125 por kanaamlrr
Respondido por kanaamlrr no tópico [Ajuda] Query
Opa!!
Testa desse jeito:

WITH CTE AS (SELECT TOP 1 * FROM SE5010 WHERE
D_E_L_E_T_ <> '*' ORDER BY R_E_C_N_O_ DESC)

SELECT DISTINCT 'SE2' TIPO, CTT_CUSTO, CTT_CLASSE, CTT_CCSUP, CTT_DESC01, E2.E2_NUM, E2.E2_PREFIXO, E2.E2_PARCELA, E2.E2_TIPO, E2.E2_FORNECE, E2.E2_LOJA, E2.E2_VALOR VALOR_PAGO, E2.E2_VALOR VALOR_TOTAL
FROM CTT010 CTT (NOLOCK)
INNER JOIN SE2010 E2 (NOLOCK)
ON E2_SALDO = 0 AND E2_TIPO<>'NDF' And E2.E2_CCUSTO = CTT.CTT_CUSTO AND E2.D_E_L_E_T_ = '' AND E2_BAIXA BETWEEN '20140901' AND '20140930'
INNER JOIN CTE ON CTE.E5_PREFIXO = E2.E2_PREFIXO AND CTE.E5_NUMERO = E2.E2_NUM AND CTE.E5_PARCELA = E2.E2_PARCELA AND CTE.E5_CLIFOR = E2.E2_FORNECE AND CTE.E5_LOJA = E2.E2_LOJA
WHERE CTT_BLOQ <> '1' AND CTT_CLASSE <> '1' AND CTT.D_E_L_E_T_ = ''
AND CTT.CTT_CUSTO BETWEEN '2010004 ' AND '2010004 '
AND NOT EXISTS(SELECT 'Z' FROM SDE010 DE (NOLOCK) WHERE DE.DE_DOC = E2.E2_NUM AND DE.DE_SERIE = E2.E2_PREFIXO AND DE.DE_FORNECE = E2.E2_FORNECE AND DE.DE_LOJA = E2.E2_LOJA AND DE.D_E_L_E_T_ = '')
AND NOT EXISTS(SELECT 'Z' FROM SE5010 E5 (NOLOCK) WHERE E5.E5_NUMERO = E2.E2_NUM AND E5.E5_PREFIXO = E2.E2_PREFIXO AND E5.E5_CLIFOR = E2.E2_FORNECE AND E5.E5_LOJA = E2.E2_LOJA AND E5.D_E_L_E_T_ = ''AND E5.E5_MOTBX IN ('DAC','CMP'))
AND E2_TIPO <> 'PA'

Você só vai precisar colocar os campos da SE5 que você for usar ai na listagem do select.
Não cheguei a testar, mas deve dar certo
Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 1 semana atrás #26130 por ftvernier
Respondido por ftvernier no tópico [Ajuda] Query
Kanãam,

Agradeço mas a query retornou em branco.

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 1 semana atrás #26132 por kanaamlrr
Respondido por kanaamlrr no tópico [Ajuda] Query
troca o inner join por left join

se o titulo não tiver movimentação bancária, com o inner ele não vai aparecer.
Talvez funcione...

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 1 semana atrás #26134 por ftvernier
Respondido por ftvernier no tópico [Ajuda] Query
Kanaãm,

Mesmo assim não rolou.

Muito Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

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