Busca dos 3 últimos pedidos de compra através do CPF do cliente.
Bom dia;
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.
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
Curtidas 0
Melhor post
Luiz Santos
27/06/2017
Bom dia Lucas.
Ficaria mais ou menos assim
Grande abs
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
GOSTEI 3
Mais Respostas
Gxf
27/06/2017
Bom dia.
Exemplo:
Exemplo:
SELECT top 3 numPedido,descricao FROM tabela WHERE cpf = 'cpf' ORDER BY numPedido
GOSTEI 0
Lucas Anacleto
27/06/2017
Boa tarde gente, desculpem a demora para retornar.
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!
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!
GOSTEI 0
Luiz Santos
27/06/2017
Lucas.
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:
Grande abraço
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
GOSTEI 1