Busca dos 3 últimos pedidos de compra através do CPF do cliente.
27/06/2017
0
Preciso de uma sintaxe para o postgresql onde através do CPF busque as 3 últimas compras do cliente, sendo que cada compra tem um número de pedido.
Lucas Anacleto
Post mais votado
27/06/2017
Ficaria mais ou menos assim
SELECT COMPRA FROM TABELA WHERE PEDIDO IN ( SELECT PEDIDO FROM TABELA WHERE CPF = '12345678910' ORDER BY PEDIDO DESC LIMIT 3)
Grande abs
Luiz Santos
Mais Posts
27/06/2017
Gxf
Exemplo:
SELECT top 3 numPedido,descricao FROM tabela WHERE cpf = 'cpf' ORDER BY numPedido
05/07/2017
Lucas Anacleto
Luiz Fernando, seu código funcionou perfeitamente buscando cpf por cpf, porém, me pediram para que ao invés de trazer por apenas 1 cpf, trouxesse por vários, entende? como eu disse, no seu código aplicando 1 por 1 ele funciona, tentei colocar vários cpf''''s para busca e roda, porém, não me traz informação nenhuma, teria algum detalhe que teria q ser colocado? Tentei diversas formas e não consegui.
Grato pela atenção de todos!
05/07/2017
Luiz Santos
Para resolver seu problema, vai precisar usar um cursor. (pelo menos só consegui pensar nessa forma). E uma tabela (temporária) para armazenar os resultados.
Seu código ficaria mais ou menos assim:
DECLARE t_ped tabela_pedido%rowtype; BEGIN FOR t_ped IN SELECT DISTINCT cpf FROM tabela_pedido LOOP IF t_ped.active THEN INSERT INTO XPTO... SELECT COMPRA FROM TABELA WHERE PEDIDO IN ( SELECT PEDIDO FROM TABELA WHERE CPF = t_ped.cpf ORDER BY PEDIDO DESC LIMIT 3) END IF; END LOOP; END
Grande abraço
Clique aqui para fazer login e interagir na Comunidade :)