Consulta sql - clientes inativos

Precisava fazer uma query que retorne o seguinte:

F2_CLIENTE, F2_DOC, F2_EMISSAO, F2_VALBRUT, A1_NOME , A1_CONTATO

COM OS DADOS DA ÚLTIMA NOTA EMITIDA PELO CLIENTE ATÉ UMA DATA LIMITE

Preciso não utilizar O CAMPO A1_ULTCOMP, mais sim uma query .

ALGUÉM PODERIA ME DAR UMA LUZ.

Obrigado

cmkas

Você pode tentar fazer da seguinte forma via SQL, não sei exatamente se está bem otimizado já que não filtrei a filial da SF2, e portanto o sistema não usará índices na busca. Vai precisar apenas fazer os ajustes de filtro conforme sua situação aí, mas dá para entender bem o funcionamento.


SELECT TOP 10 F2_CLIENTE, F2_DOC, F2_EMISSAO, F2_VALBRUT, A1_NOME , A1_CONTATO
FROM SA1010 SA1
OUTER APPLY (
    SELECT TOP 1 F2_CLIENTE, F2_DOC, F2_EMISSAO, F2_VALBRUT
    FROM SF2010 SF2
    WHERE SF2.D_E_L_E_T_=''
    AND F2_CLIENTE = A1_COD
    AND F2_LOJA = A1_LOJA
    AND F2_EMISSAO <= '20230101'
    ORDER BY SF2.R_E_C_N_O_ DESC 
) NF
WHERE SA1.D_E_L_E_T_=''
AND F2_CLIENTE IS NOT NULL

Cirilo, Deu certo, ajudou bastante. Obrigado