SQL Server - esto esta bien...? (urgente...!)

 
Vista:

esto esta bien...? (urgente...!)

Publicado por w_nm3 (4 intervenciones) el 23/08/2007 19:04:14
tengo tres tablas, debo cambiar el valor de un campo en la tabla_unodependiendo de si el valor de otro campo de la tabla_uno esta en la tabla_dos y dependiendo tabien si el valor de un campotres de la tabla uno coincide con un campo de la tabla tres.

osea que...
comparo un campo de la tabla uno con otro de la tabla dos
y
camparo otro campo de la tabla uno con otro de la tres.

hice esto pero estoy MUY dudoso.

update tabla_uno
set campo_uno_tabla_uno=1
from tabla_uno t1 inner join tabla_dos td
on t1.campo_llave=tabla_dos.campollave
where campo_dos_tabla_uno NOT IN (SELECT campo_uno_tabla_dos FROM tabla_dos)
inner join tabla_tres t3
on tabla_tres.campo_llave=tabla_uno.campo_llave
where campo_tres_tabla_uno IN (select campo_uno_tabla_tres from tabla_tres)

Alguien podria decirme si esta bien o como lo corrijo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:esto esta bien...? (urgente...!)

Publicado por Isaias (3308 intervenciones) el 23/08/2007 19:29:10
Primero.- Sigue las reglas de los foros, nada de URGENTE !!, AYUDA !!!, ME MUERO !!!, ERROR !!!! y cosas por el estilo en tu Titulo.

Dos.- No entiendo el objetivo de los SUBSELECT

Tres.- Creo que deberia quedar asi:

update tabla_uno
set campo_uno_tabla_uno=1
from tabla_uno t1 JOIN tabla_dos td
on t1.campo_llave=tabla_dos.campollave
JOIN tabla_tres ON tabla_tres.campo_llave=tabla_uno.campo_llave

Para probar, dale un SELECT primero y dependiendo del resultado lo ejecutas o no:

SELECT t1.*
from tabla_uno t1 JOIN tabla_dos td
on t1.campo_llave=tabla_dos.campollave
JOIN tabla_tres ON tabla_tres.campo_llave=tabla_uno.campo_llave
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

gracias

Publicado por w_nm3 (4 intervenciones) el 23/08/2007 19:38:03
Gracias isaias.

Lo voy a probar...!
al parecer funcionará.

bye.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar