我需要使用HQL从表中返回重复记录的ID。我试过:
"select pro from FichaProcedimento pro "
+ " inner join ("
+ " select pro.ficha.id, proc.id, proc.regiaoDente, proc.face "
+ " from FichaProcedimento "
+ " group by pro.ficha.id, proc.id, proc.regiaoDente, proc.face"
+ " having count(*)>1) proc "
+ " on pro.procedimento.id = proc.procedimento.id "
+ " where pro.ficha.id=? "
发生错误:
意外令牌:(靠近第1行,第100列[从br.srv.datasolution.infodata.odontologico.entity.FichaProcedimento pro内部联接中选择专业人员(选择pro.ficha.id,proc.id,proc.regiaoDente,proc)来自br.rv.datasolution.infodata.odontologico.entity.FichaProcedimento的.face由pro.ficha.id,proc.id,proc.regiaoDente,proc.face在pro.procedimento上有count(*)> 1)proc。 id = proc.procedimento.id,其中pro.ficha.id =?]
如何解决?
答案 0 :(得分:0)
解决了原生查询问题。谢谢!例如:
delete from Tabela
where Nome in
(select Nome from Tabela
group by Nome
having Count(Nome)>1)
and not matricula in
(select Min(Matricula) from Tabela
group by Nome
having Count(Nome)>1)