Dados em massa de banco de dados / PostegreSQL

10/07/2017

0

Olá pessoal, boa tarde, sou novo no site e no banco de dados, porém, trabalho em uma empresa que me pediu que fizesse uma query da seguinte maneira: preciso buscar no banco de dados todas as compras que esses clientes tem, o meio de busca é pelo CPF/CNPJ, só que o cpf/cnpj no banco de dados esta declarado como
character varying(24), nos testes que realizei, por mais que eu coloque cerca de 500 números de cpf para localizar os dados, o sistema me traz apenas 1 linha referenciando 1 numero de cpf com os dados solicitados, Sei que é um select simples, porém, nós estou obtendo êxito, segue código abaixo.

Ressaltando que dessa forma que esta se coloco 1 ou mais cpf's sempre retorna uma linha com os dados pedidos.

Alguém tem uma solução?? Fico muito grato pela atenção


select *

from Tabela1

where coluna in (

select coluna1

from
tabela1

where cpfcnpj = ' "Aqui vai 1 ou mais cpf's" ' order by coluna1)
João Oliveira

João Oliveira

Responder

Posts

10/07/2017

Robson Morais

Boa tarde,

na clausula

where cpfcnpj = .....


você está colocando igual há um cpf, o correto é utilizar in....


select *
from Tabela1
where cpfcnpj in ('12345678902','12345678901','12345678903') order by coluna1)
Responder

10/07/2017

Robson Morais

retire o parênteses que está depois de coluna1
Responder

11/07/2017

Fabio Rocha

Olá,

Conforme Robinho falou e escreveu muito bem para uma consulta com multiplas informações podemos utilizar a clausula IN.

De uma olhada nos links abaixo para ver se te ajuda.

SQL

MYSQL

Grande abraço
Responder

11/07/2017

João Oliveira

Bom dia pessoal, Muito obrigado pela ajuda de todos,

Nesse caso abaixo deu certo, me trouxe todos os cpf's com dados, porém, preciso que me traga ainda as 3 ultimas compras de cada cpf, como dito, sempre em massa, serão muitos cpf's pra essa busca, tentei colocar "order by numero_da_compra limit 3" mas apresenta erro de sintaxe, ja tentei algumas mudanças mas sem sucesso, qual seria a solução nesse caso?

Grato pela atenção de todos!





select

numero_da_compra,
data_compra

from tabela 1

where coluna1 in ('123.456.789-98','987.654.321-21','369.258.147-87','147.258.369-12','258.357.159-56')


group by

numero_da_compra,
data_compra
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar