update de otra tabla

23/03/2005 - 21:05 por J Lara | Informe spam
Puedo hacer un update normal como:
update T1
set Campo1=datox where...

Esto es simple porque datox siempre es fijo, pero deseo
hacer un update del al Campo1 pero con algun dato que
cumpla una condicion (que inicie tal vez con x letra)de una
segunda tabla. algo parecido a esto:
update T1
set Campo1 where IN(Select Campo1 Like 'X%')

pero no me sale. se le puede indicar al set que lo que
debe considerar es un dato resultado de un select ??
o es de otra manera ??

Les agradesco de antemano su ayuda.

Saludos.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
23/03/2005 - 21:21 | Informe spam
J Lara,

Se puede hacer de dos formas, pero ambas necesitan un criterio para
relacionar ambas tablas.

Ejemplo:

Supon que tenemos dos tablas t1 y t2 y que estas se relacionan por la
columna col1, si queremos actualizar la tabla t1, columna col2 con el valor
de la columna col2 en tabla t2 ti este valor cumple con que, por ejemplo,
t2.col2 like '%algo%', entonces:

update t1
set t1.col2 = t2.col2
from t1 inner join t2 on t1.col1 = t2.col2 and t2.col2 like '%algo%'


update t1
set col2 = (select col2 from t2 where t2.col1 = t1.col1 and t2.col2 like
'%algo%')
where exists (select * from t2 where t2.col1 = t1.col1 and t2.col2 like
'%algo%')


AMB

"J Lara" wrote:

Puedo hacer un update normal como:
update T1
set Campo1=datox where...

Esto es simple porque datox siempre es fijo, pero deseo
hacer un update del al Campo1 pero con algun dato que
cumpla una condicion (que inicie tal vez con x letra)de una
segunda tabla. algo parecido a esto:
update T1
set Campo1 where IN(Select Campo1 Like 'X%')

pero no me sale. se le puede indicar al set que lo que
debe considerar es un dato resultado de un select ??
o es de otra manera ??

Les agradesco de antemano su ayuda.

Saludos.

Respuesta Responder a este mensaje
#2 J Lara
24/03/2005 - 01:39 | Informe spam
Gracias Alejandro, utilize el codigo que me indicas
solo le ajuste un poco y quedo asi:

update T1
set Col1= (Select Col2 FROM T2 WHERE Col2 Like 'X%')
where Col1=xxx

Gracias por tu apoyo.
Saludos.




"Alejandro Mesa" wrote:

J Lara,

Se puede hacer de dos formas, pero ambas necesitan un criterio para
relacionar ambas tablas.

Ejemplo:

Supon que tenemos dos tablas t1 y t2 y que estas se relacionan por la
columna col1, si queremos actualizar la tabla t1, columna col2 con el valor
de la columna col2 en tabla t2 ti este valor cumple con que, por ejemplo,
t2.col2 like '%algo%', entonces:

update t1
set t1.col2 = t2.col2
from t1 inner join t2 on t1.col1 = t2.col2 and t2.col2 like '%algo%'


update t1
set col2 = (select col2 from t2 where t2.col1 = t1.col1 and t2.col2 like
'%algo%')
where exists (select * from t2 where t2.col1 = t1.col1 and t2.col2 like
'%algo%')


AMB

"J Lara" wrote:

> Puedo hacer un update normal como:
> update T1
> set Campo1=datox where...
>
> Esto es simple porque datox siempre es fijo, pero deseo
> hacer un update del al Campo1 pero con algun dato que
> cumpla una condicion (que inicie tal vez con x letra)de una
> segunda tabla. algo parecido a esto:
> update T1
> set Campo1 where IN(Select Campo1 Like 'X%')
>
> pero no me sale. se le puede indicar al set que lo que
> debe considerar es un dato resultado de un select ??
> o es de otra manera ??
>
> Les agradesco de antemano su ayuda.
>
> Saludos.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida