Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-04-2005
Javi2 Javi2 is offline
Miembro
 
Registrado: jun 2004
Posts: 152
Poder: 21
Javi2 Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 18-04-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.549
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
Responder Con Cita
  #3  
Antiguo 18-04-2005
Javi2 Javi2 is offline
Miembro
 
Registrado: jun 2004
Posts: 152
Poder: 21
Javi2 Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 18-04-2005
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Poder: 20
fly Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 18-04-2005
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Poder: 20
fly Va por buen camino
Ops!! llegé tarde a la explicación, si no están relacionadas ¿cual es la dificultad?
Responder Con Cita
  #6  
Antiguo 18-04-2005
Javi2 Javi2 is offline
Miembro
 
Registrado: jun 2004
Posts: 152
Poder: 21
Javi2 Va por buen camino
Muchas gracias por vuestra ayuda. Ya lo tengo más o menos solucionado con un CASE.

Gracias a todos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:04:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi