| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2009 14:41:29
|
marcelo.bellissimo
Virtual Machine Man
Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline
|
Pessoal, seguinte
Tenho 3 tabelas/objetos... Operacao, ControleOperacao, e SubOperacao
Como deve ser bem óbvio, ControleOperacao e SubOperacao possuem objetos Operacao (da tabela Operacao) dentro delas...
O que eu gostaria de fazer é: selecionar todos os objetos Operacao, que NÃO estão nas duas tabelas ControleOperacao e SubOperacao... se fosse ao contrário até que seria fácil, mas para esse caminho inverso, não consegui chegar em nenhuma conclusão "limpa"... o que fiz foi:
- Selecionar todos da tabela Operacao em uma lista
- Selecionar todos (não repetidos) da tabela ControleOperacao e subtrair da lista de Operacao
- Selecionar todos (não repetidos) da tabela SubOperacao e subtrair da lista de Operacao
Desse jeito, tenho apenas os objetos Operacao que não estão nas duas tabelas mencionadas... mas achei esse método meio porco e um tanto custoso, pois faz um full select das tabelas, isso vai causar problemas quando a demanda for grande e a tabela estiver muito grande...
Alguma maneira fácil de resolver isso?
Obrigado!
This message was edited 1 time. Last update was at 06/03/2009 08:33:04
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2009 19:45:11
|
sbguimaraes
Thread.start()
Membro desde: 21/02/2007 02:37:00
Mensagens: 49
Offline
|
Amigo tenta dessa forma !!!
from Operacao op where op.id not in (select co.op.id from ControleOperacao co)
and op.id not in(select sub.op.id from SubOperacao sub);
espero ter ajudado !!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2009 08:23:55
|
marcelo.bellissimo
Virtual Machine Man
Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline
|
Cara, muito bom... não cheguei a pensar em usar HQL, não estou acostumado, mas funcionou direitinho, apenas alguns ajustes nos nomes dos atributos...
Muito obrigado... agora vou até começar a estudar mais sobre HQL, ele quebra um galho imenso...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2009 08:31:47
|
marcelo.bellissimo
Virtual Machine Man
Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline
|
Apenas para referência, se alguem quiser saber como foi feito, aqui o código HQL:
|
|
|
 |
|
|
|
|