2011-07-29 12 views
6

Tengo una tabla en la que quiero actualizar todas las filas con la ID que existe en el resultado de la selección.Servidor SQL - ¿Tabla de ACTUALIZACIÓN donde ID está en SELECCIONAR?

Mi pseudo-código:

UPDATE mytable as t 
    SET t.status = 'PM' 
WHERE t.ID EXISTS IN (select ID from ...) 

he logrado hacer la instrucción de selección, ahora quiero utilizar el resultado de la instrucción de selección para actualizar una tabla.

Respuesta

15

Si elimina el existente, tiene una consulta válida de lo que puedo decir.

UPDATE mytable 
    SET status = 'PM' 
WHERE id IN (select ID from ...) 

Funciona para mí en MySql 5.5, no estoy seguro de qué base de datos está utilizando.

+0

gracias por la respuesta, estoy usando MSSQL. ¿Alguna idea? – dpp

+1

¿Has probado la consulta anterior? Debería ser el mismo AFAIK –

+0

De acuerdo, crearé una tabla ficticia ... – dpp

1

No se puede usar la sustitución en la instrucción UPDATE. La consulta original debería ser buena cuando omite la parte "como t" y ambas "t".

Cuestiones relacionadas