Skip to content

Instantly share code, notes, and snippets.

@cesarAugusto1994
Last active February 29, 2016 17:40
Show Gist options
  • Save cesarAugusto1994/aaee53f0add19b338b41 to your computer and use it in GitHub Desktop.
Save cesarAugusto1994/aaee53f0add19b338b41 to your computer and use it in GitHub Desktop.
Buscar Vendas nos Últimos 6 Meses de Clientes PJ
SELECT storeno AS Loja, id_pessoa AS 'Codigo Cliente', cliente AS Cliente,
email AS Email, ddd AS DDD, telefone AS Telefone, pdvno, transacaoUltimaCompra,
(
SELECT REPLACE(ROUND(SUM(xa2.price / 100 * xa2.qtty / 1000), 2), '.', ',')
FROM sqlpdv.pxa pxa
INNER JOIN sqldados.xalog2 xa2 ON (xa2.storeno = pxa.storeno AND xa2.pdvno = pxa.pdvno AND xa2.xano = pxa.xano)
WHERE xa2.storeno = t2.storeno AND xa2.pdvno = t2.pdvno AND xa2.xano = transacaoUltimaCompra
) AS 'Ultima Compra',acumulado AS Acumulado
FROM (
SELECT
storeno, id_pessoa, cliente, email, ddd, telefone, pdvno,
REPLACE(ROUND(SUM(acumulado), 2), '.', ',') AS acumulado,
MAX(transacaoUltimaCompra) AS transacaoUltimaCompra
FROM (
SELECT
pxa.storeno,pxa.pdvno,pxa.xano,pxa.date,pe.id_pessoa,
pe.nome_pessoa cliente,pe.email,pe.ddd_telefone ddd,pe.telefone,
SUM(xa.price / 100 * xa.qtty / 1000) AS acumulado,
MAX(pxa.xano) AS transacaoUltimaCompra
FROM sqlpdv.pxa pxa
INNER JOIN webpdv.pessoas pe ON (pe.custno = pxa.custno AND pe.id_tipo_pessoa = 'J')
INNER JOIN sqldados.xalog2 xa ON (xa.storeno = pxa.storeno AND xa.pdvno = pxa.pdvno AND xa.xano = pxa.xano)
WHERE pxa.date BETWEEN 20150901 AND 20160301
GROUP BY pxa.xano
UNION ALL
SELECT
pxa.storeno,pxa.pdvno,pxa.xano,pxa.date, pe.id_pessoa,
pe.nome_pessoa cliente,pe.email,pe.ddd_telefone ddd, pe.telefone,
SUM(xa.price/100 * xa.qtty/1000) * (-1) AS Acumulado,
MAX(pxa.xano) AS transacaoUltimaCompra
FROM sqlpdv.pxa pxa
INNER JOIN webpdv.pessoas pe ON (pe.custno = pxa.custno AND pe.id_tipo_pessoa = 'J')
INNER JOIN sqldados.xalog2 xa ON (xa.storeno = pxa.storeno AND xa.pdvno = pxa.pdvno AND xa.xano = pxa.xano)
INNER JOIN webpdv.controle_devolucao_troca_g cdtg ON (cdtg.storeno = xa.storeno AND cdtg.pdvno = xa.pdvno
AND cdtg.xano = xa.xano AND cdtg.prdno = xa.prdno
AND cdtg.grade = xa.grade AND
DATE_FORMAT(cdtg.data_hora, '%Y%m%d') = xa.date)
WHERE pxa.date BETWEEN 20150901 AND 20160301
GROUP BY pxa.xano
) t1
GROUP BY t1.id_pessoa
) t2
GROUP BY t2.id_pessoa
;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment