[quote=Don][quote=RenataFA]Oi amigo!
Eu sei resolver… uso algo parecido, mas antes eu precisava saber uma coisa, sua tabela tem algum campo ID que possa identificar de forma única o registro?
Existe a possibilidade de termos registros idênticos repetidos? Quero dizer, os 3 campos que vc mostrou estarem todos iguaizinhos?
Responda por favor que eu monto pra vc… ah, me fala qual o BD que vc usa tb.[/quote]
Oi Renata, obrigado pela resposta…
sim…minha tabela tem um campo ID que é unico para cada registro e também existe a possibilidade de os campos estarem idênticos, o banco é oracle…
[/quote]
Bem amigo, eu resolvi sem usar o GROUP BY. Se vc precisar agrupar depois, vc usa. O fato é que vc disse que precisava listar sempre que o tipo_registro estivesse duplicado com alguém mais do grupo (ou seja, do cod_registro, pelo que entendi).
Para esse tipo de situação, não preciso do GROUP BY. Fiz assim:
[code]select h.cod_registro, h.descricao, h.tipo_registro
from registro h
left join registro i on i.cod_registro = h.cod_registro
and i.tipo_registro = h.tipo_registro
and i.id <> h.id
where i.id is not null[/code]
Tá simples, sem ordenar, sem agrupar, sem nada. Ai vc vê o que mais vc precisa.
Explicando o que eu fiz: eu fiz um join relacionando a tabela a ela mesma, relaciono a tabela registro a própria tabela registro. Tento encontrar um outro registro diferente do que eu estou (por isso pego quando os IDs forem diferentes) que também possua o mesmo cod_registro e tipo_registro. Se eu encontrar (por isso o i.id is not null) eu trago o registro, senão não.
Execute ai e veja como fica. Aqui ficou assim:
cod_registro,descricao,tipo_registro
1, 'bbbbb', 3
1, 'aaaaa', 3
2, 'ddddd', 45
2, 'ccccc', 45
Qq dúvida é só falar.
[]'s
Renata