![]() |
Actualizar el contenido de las primeras celdas UPDATE TOP
Hola foro:
Necesitaria q alguien me saque d un apuro, necesito actualizar el valor de los 15 primeros registros q saca una consulta, pero no se como hacerlo. La consulta que funciona es esta: SELECT TOP 15 REGISTRE.ORDEN_FABRICACION, REGISTRE.ACABADOS, REGISTRE.FECHA, REGISTRE.PRIORIDAD FROM REGISTRE WHERE (((REGISTRE.ACABADOS) Is Null)) ORDER BY REGISTRE.FECHA, REGISTRE.PRIORIDAD; pero no se como hacer para que me modifique el valor del campo acabados de estos registros. con la consulta: update registre set acabados = "0" where (((REGISTRE.ACABADOS) Is Null)) ORDER BY REGISTRE.FECHA, REGISTRE.PRIORIDAD entonces me actualiza el valor de todos los registros y solo necesitaria los 15 o 10 primeros. Alguien puede ayudarme?? Gracias por adelantado. |
Si la tabla REGISTRE tiene "clave primaria" puedes utilizar un IN. Algo así (te lo pongo sin probar, así que ya dirás si me he dejado algo); Como mínimo te servirá para coger la idea...
(suponiendo por ejemplo que el campo ORDEN_FABRICACION fuera la primary key)
Se trata de usar el SELECT..IN para seleccionar los 15 primeros y luego hacer el update sólo sobre esos. NOTA: El ORDER BY para el Update no es necesario |
Muchas, muchisimas gracias.
si que ha servido para pillar la idea, me has sacado de un buen atasco mental. la sentencia me a qedado asi: UPDATE registre SET acabados = "0" WHERE ORDEN_FABRICACION IN (SELECT TOP 1 REGISTRE.ORDEN_FABRICACION FROM REGISTRE WHERE (((REGISTRE.ACABADOS) Is Null)) ORDER BY REGISTRE.FECHA, REGISTRE.PRIORIDAD); Lo que me pasaba era q la tenia asi y me devolvia demasiados campos, y no entendia el problema update registre set acabados = "0" where ( SELECT TOP 15 * FROM REGISTRE WHERE (((REGISTRE.ACABADOS) Is Null)) ORDER BY REGISTRE.FECHA, REGISTRE.PRIORIDAD) muchas gracias de nuevo. |
La franja horaria es GMT +2. Ahora son las 10:58:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi