Estoy realizando un modulo donde debo repartir aleatoriamente registros entre 25 asesores, tengo una tabla con 4340 registros, y deseo repartir al azar a cada asesor entre 200 registros.
Para ello en la tabla donde tengo lo 4340 hay un campo llamada idAsesor.
Con este codigo pude hacer la consulta aleatoria, por ahora es un test.
Código Java:
Ver original
public void aleatorio() { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.getTransaction().begin(); Criteria criteria = session.createCriteria(Base.class); criteria.add(Restrictions.eq("asesor.id", 91)); criteria.add(Restrictions.sqlRestriction("1=1 order by NEWID()")); criteria.setMaxResults(206); List<Base> bases = null; bases = criteria.list(); for (Base base : bases) { } session.getTransaction().commit(); session.getTransaction().rollback(); } }
Ahora solo deseo actualizarel idAsesor con el id de cada uno de ellos en esos 206 registros.
Alguien que me ayude
Gracias.
PD: La consulta SQL SERVER para realizar la actualizacion es esta:
Código SQL:
Ver original
UPDATE base SET asesor='14' WHERE numerodocumento IN (SELECT top 206 numerodocumento FROM base WHERE asesor='91' ORDER BY NEWID())