Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

select + update todo junto.

Estas en el tema de select + update todo junto. en el foro de Bases de Datos General en Foros del Web. como podria hacer las dos consultas en una? 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; ...
  #1 (permalink)  
Antiguo 27/01/2005, 04:02
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 3 meses
Puntos: 0
select + update todo junto.

como podria hacer las dos consultas en una?

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;

update registre
set acabados = "0"
where (((REGISTRE.ACABADOS) Is Null))
ORDER BY REGISTRE.FECHA, REGISTRE.PRIORIDAD

lo que quiero es q me señale los 15 primeros campos.

Última edición por rrufo; 27/01/2005 a las 04:04
  #2 (permalink)  
Antiguo 27/01/2005, 04:20
 
Fecha de Ingreso: enero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Para mi lo que tendrías que hacer es meter el select dentro del Update, enlazando ambos por los campos claves, de la forma que lo que te devuelva el select sea lo que marque el update.

Las sentencias contretas ahora no recuerdo, lo siento, ya te las miraré si sigues con la duda. Suerte
  #3 (permalink)  
Antiguo 27/01/2005, 04:28
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
que yo sepa no se puede hacer en una sola consulta, una consulta es para actualizar datos y otra es para mostrar datos, tienes que hacer dos distintas, además no tendría sentido, o al menos eso pienso yo
  #4 (permalink)  
Antiguo 27/01/2005, 07:20
 
Fecha de Ingreso: enero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Aja desde ese punto de vista no seria posible, pero piensa en una actualizacion basada en un origen de datos obtenidos de un select. Yo pienso k si que es posible aunque no se los comandos, no se si con un "WHERE campounion ON (select..." o algo así ;)
  #5 (permalink)  
Antiguo 27/01/2005, 08:59
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
entiendo que lo que quieres es actualizar los datos que obtendrías de la primera consulta no?, en ese caso prueba esto

update registre
set acabados = "0"
where registre.id IN (
SELECT TOP 15 REGISTRE.ID
FROM REGISTRE
WHERE (((REGISTRE.ACABADOS) Is Null))
ORDER BY REGISTRE.FECHA, REGISTRE.PRIORIDAD
)

entendiendo que id es la clave principal de la tabla registre

espero que os sirva
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:04.