Actualizando una tabla con datos de otra tabla

5 comentarios

En ocasiones podemos necesitar que en una columna de una tabla se encuentren los mismos datos que se encuentran en una columna de otra tabla.

En Firebird el comando UPDATE no soporta la cláusula JOIN. Así que algo como esto no es posible hacer:

Listado 1.

UPDATE
   Tabla1 T1
JOIN
   Tabla2 T2
   ON T1.Columna1 = T2.Columna2
SET
   T1.Columna3 = T2.Columna4

Sin embargo, esto sí podemos hacer:

Listado 2.

UPDATE
   Tabla1 T1
SET
   T1.Columna3 = (SELECT T2.Columna4 FROM Tabla2 T2 WHERE T1.Columna1 = T2.Columna2 ROWS 1)

El SELECT devolverá a una sola fila y a una sola columna de esa fila. O sea, en otras palabras, obtendremos un único valor. Nos aseguramos que devuelva una sola fila al escribir ROWS 1 y devuelve una sola columna porque en el SELECT se escribió una sola columna. Es por lo tanto perfectamente válido lo que hemos hecho.

Desde luego que dentro del SELECT sí podemos usar JOIN y no solamente a una, sino a varias tablas, no hay problemas con eso. También podemos usar las cláusulas GROUP BY, HAVING, ORDER BY, etc.

De esta manera, aunque el comando UPDATE no soporta la cláusula JOIN hemos obtenido el mismo resultado que si la soportara.

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21

 

Anuncios

Firebird 3.0 Quick Start Guide

Deja un comentario

La documentación para empezar a usar rápidamente Firebird 3 se encuentra disponible (en inglés) y la puedes descargar desde:

Firebird 3. Quick Start Guide

En ese documento encontrarás los siguientes temas:

  • Instalación
  • Verificación de que la instalación fue realizada correctamente
  • Ubicaciones por defecto de los componentes de Firebird 3
  • Configuración del Servidor
  • Administración del Servidor
  • Conexiones a bases de datos
  • Backups

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21

 

CloudaIDE framework

2 comentarios

Poder terminar nuestras aplicaciones más rápidamente siempre es beneficioso para nosotros. CloudaIDE framework sirve justamente para eso. Crea aplicaciones “en la nube”. Y es gratis.

Captura 1. Si haces clic en la imagen la verás más grande

Importante: Requiere Windows de 64 bits o Linux de 64 bits.

Algo muy bueno es que no tiene restricciones para Firebird. O sea que las funcionalidades que son pagas para MySql, PostgreSql, y Oracle, son gratis para Firebird.

Puede ser descargado desde:

http://cloudaide.org/index.html

En esa página hay también un vídeo explicativo que demuestra lo fácil que es usar a CloudaIDE framework. Y algo muy bueno de ese vídeo es que está basado en una Base de Datos de … Firebird.

Así que si tienes intenciones de desarrollar aplicaciones para “la nube”, este programa puede resultarte de gran ayuda y deberías probarlo.

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21