Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zuando a Night

[Resolvido] Select no mesmo campo de uma tabela várias vezes

Recommended Posts

Opa blza ae galera! Esse é meu primeiro tópico aqui... nunca postei pois antes tento ao máximo solucionar o problema mas dessa vez não consegui.

 

Bom tenho um BD chamado relatório. Nele gravo tudo o que acontece com os clientes do jornal.

Nele controlamos as artes dos clientes e preciso fazer um SELECT que me mostre as artes que não vão mais sair no jornal pois já acabaram as edições inseridas.

 

Utilizei o select abaixo porém ele me retorna TODOS os registro da edição 19. O que é bem o obvio pq no select está chamando todas = a 19. Porém preciso selecionar as da edição 19 que não tem na 20, 21... até a 28. São 8 edições pra frente.

 

SELECT DISTINCT cliente FROM relatorios WHERE edicao = '19' AND edicao != '20' AND edicao != '21' AND edicao != '22' AND edicao != '23' AND edicao != '24' AND edicao != '25' AND edicao != '26' AND edicao != '27' AND edicao != '28' AND particular = 'ART'

No BD o campo EDICAO é unico para cada registro e no caso de ter incluso o cliente XXX na edição 19, 20 e 21 crio 3 registros no BD.

 

Resumindo. Preciso listar somente os registros que sairam na edição 19 e que não vão sair nas edições 20, 21, 22, 23, 24, 25, 26, 27 e/ou 28.

 

Se alguém tiver uma luz ae para o jeito de fazer esse SELECT agradeço.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resumindo. Preciso listar somente os registros que sairam na edição 19 e que não vão sair nas edições 20, 21, 22, 23, 24, 25, 26, 27 e/ou 28.

Creio ser isto ....

 

SELECT * 
FROM relatorios r1 
WHERE edicao = '19'
and not exists
(SELECT * 
FROM relatorios r2 
WHERE r2.edicao in (20, 21, 22, 23, 24, 25, 26, 27 , 28)
and   r2.cliente = r1.cliente)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio ser isto ....

 

SELECT * 
FROM relatorios r1 
WHERE edicao = '19'
and not exists
(SELECT * 
FROM relatorios r2 
WHERE r2.edicao in (20, 21, 22, 23, 24, 25, 26, 27 , 28)
and   r2.cliente = r1.cliente)

Sensacional!!! Aparentemente funcionou perfeito... checamos os dados que o select mostrou e bateu. Vou implementar aqui e testar com a comparação que fazemos toda segunda mas acredito que seja isso realmente.

 

Valeuuuuuzão Motta!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.