FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
UPDATE de un campo dependiendo del valor de un campo de otra tabla
Hola, tengo dos tablas Tabla1 y Tabla2 y necesito poner, mediante un UPDATE, el Campo1 de la Tabla1 = True si Campo2 de Tabla2 > 10 y False en caso contrario, es decir:
- Si Campo2 (Tabla2) > 10 -> Campo1 (Tabla1) = True - Else Campo1 (Tabla1) = False ¿Cómo puedo hacer esto? Muchas gracias por su ayuda |
#2
|
||||
|
||||
Seguramente entre ambas tablas habrá alguna relación. ¿Cual es? ¿Algun campo? ¿Clave foránea?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
No, no existe ninguna relación. En una tabla tengo almacenados una serie de parámetros de la aplicación y en la otra (donde tengo que modificar) es una tabla de artículos.
Gracias. |
#4
|
|||
|
|||
Yo con firebird uso algo así :
UPDATE Tabla1 T1 SET campo1=TRUE WHERE EXISTS (SELECT * FROM Tabla2 T2 WHERE T2.campo2>10 AND T2.codigo=T1.codigo) suponiendo que todas son FALSE antes de update. ó UPDATE Tabla1 T1 SET campo1= MI_COMPARACION(T1.campo1, (SELECT T2.campo2 FROM Tabla2 T2 WHERE T1.codigo=T2.codigo),10) En ambas asumo que el campo codigo es el que relaciona ambas tablas. En la segunda propuesta habria que hacer la función MI_COMPARACION porque probré a poner " campo1 = (10 <> SELECT T2.campo2 FROM Tabla2 T2 WHERE T1.codigo=T2.codigo ) " y da error, lo que no se es si existe ya alguna funcion tal efecto (y que devuelva el tipo de dato que te interesa) Saludos Última edición por fly fecha: 18-04-2005 a las 17:22:07. |
#5
|
|||
|
|||
Ops!! llegé tarde a la explicación, si no están relacionadas ¿cual es la dificultad?
|
#6
|
|||
|
|||
Muchas gracias por vuestra ayuda. Ya lo tengo más o menos solucionado con un CASE.
Gracias a todos |
|
|
|