Ajuda com SELECT

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
pedrovlf
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Sex, 16 Jan 2009 9:46 am
Localização: UDIA

Boa tarde,

Preciso de um help com uma consulta que não consigo fazer retornar o resultado que preciso, segue o exemplo abaixo:


TABLE A

COLUMN DATE
COLUMN ID

Para a coluna A eu preciso de uma query que me retorne os IDs onde a data não é igual a Oct/2012, porém os IDs se repetem para datas diferentes por exemplo:

ID DATA
1 out-2012
1 dez-2012
1 jan-2012
2 nov-2012
2 - set-2012
4 - ago-2012
4 - jan-2012

Se eu fizer uma query usando a condição NOT para DEZ-2012 eu vou não vou retornar a linha [ID 1 DATA dez-2012] ... porém se a condição for verdadeira e o ID possuir a data DEZ eu não quero retornar nenhuma linha que tenha o ID 1 para as outras datas também. Com esta condição eu vou fazer uma subquery na COLUMN B onde vou executar uma query para todos os IDs encontrados que a query for verdade.

Por favor me ajudem! Muito obrigado!
Rafael_Santos
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 72
Registrado em: Sex, 18 Nov 2011 4:51 pm

Caro pedrovlf,
criei uma tabela parecida com a sua, e populei com os dados fornecidos e mais alguns.

Não consegui entender ao certo a pergunta, mas se você quiser realizar uma consulta
mostrando o ID e DATA que não contenham a DATA com o VALOR exemplo: out-2012
realize o seguinte select:

Selecionar tudo

select "id", "data"
from teste_glufke
where to_char("data",'mon-yyyy') != 'out-2012';
Se quiser filtrar os ID's que não possuam o VALOR exemplo: out-2012
realize a seguinte query:

Selecionar tudo

select "id", "data"
from teste_glufke
where "id" not in (select "id" from teste_glufke where to_char("data",'mon-yyyy') = 'out-2012');
Depois posta aqui se deu certo a consulta.

Abraços
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 23 visitantes