- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ajuda montar consulta SQL
×
Linguagem de Programação ADVPL
Perguntas Ajuda montar consulta SQL
- rcaps
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 69
- Obrigados Recebidos: 0
10 anos 9 meses atrás #21108
por rcaps
Respondido por rcaps no tópico Ajuda montar consulta SQL
Olá,
Não confio muito nesta data do SA1 como última compra, e faço minha própria consulta baseada na emissão das notas de saída para os clientes que não compraram em um determinado período da seguinte forma :
* Este é o contador do numero de clientes que não compraram no período :
SELECT DISTINCT COUNT(A1_COD) NAO_COMPRARAM_NO_MES
FROM SA1010 WHERE A1_MSBLQL = '2' AND
A1_COD NOT IN ( SELECT F2_CLIENTE
FROM SF2010 WHERE F2_EMISSAO BETWEEN '20140101' AND '20140131'
AND F2_TIPO = 'N' AND SF2010.D_E_L_E_T_ = ' ')
* Este é analítico e pode incluir os campos da SA1
SELECT A1_COD,A1_NOME,A1_LOJA,A1_EST,a1_vend
FROM SA1010
WHERE A1_MSBLQL = '2' AND
A1_COD NOT IN ( SELECT F2_CLIENTE
FROM SF2010 WHERE F2_EMISSAO BETWEEN '20140101' AND '20140131'
AND F2_TIPO = 'N' AND SF2010.D_E_L_E_T_ = ' ')
Ou seja listo todos os clientes do meu cadastro que não estão bloqueados e verifico se tem nota fiscal emitida,
daí só listo os que não compraram...
Abs.
Raul.
Não confio muito nesta data do SA1 como última compra, e faço minha própria consulta baseada na emissão das notas de saída para os clientes que não compraram em um determinado período da seguinte forma :
* Este é o contador do numero de clientes que não compraram no período :
SELECT DISTINCT COUNT(A1_COD) NAO_COMPRARAM_NO_MES
FROM SA1010 WHERE A1_MSBLQL = '2' AND
A1_COD NOT IN ( SELECT F2_CLIENTE
FROM SF2010 WHERE F2_EMISSAO BETWEEN '20140101' AND '20140131'
AND F2_TIPO = 'N' AND SF2010.D_E_L_E_T_ = ' ')
* Este é analítico e pode incluir os campos da SA1
SELECT A1_COD,A1_NOME,A1_LOJA,A1_EST,a1_vend
FROM SA1010
WHERE A1_MSBLQL = '2' AND
A1_COD NOT IN ( SELECT F2_CLIENTE
FROM SF2010 WHERE F2_EMISSAO BETWEEN '20140101' AND '20140131'
AND F2_TIPO = 'N' AND SF2010.D_E_L_E_T_ = ' ')
Ou seja listo todos os clientes do meu cadastro que não estão bloqueados e verifico se tem nota fiscal emitida,
daí só listo os que não compraram...
Abs.
Raul.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ajuda montar consulta SQL
Tempo para a criação da página:0.078 segundos