Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Columna calculada en base a otra columna calculada (https://www.clubdelphi.com/foros/showthread.php?t=7260)

Al González 09-02-2004 23:33:49

Columna calculada en base a otra columna calculada
 
¡Buen día a todos!

Emigrando una base de datos de Access a Firebird, descubrí que ya no puedo hacer una consulta SQL Select, donde una de sus columnas sea calculada en base a otra columna calculada.

MS Access permite la sentencia SQL:
Select ID, (ID + 1) AS ID2, (ID2 + 1) AS ID3 From CLIENTES

Pero Firebird genera un error de "campo desconocido" al referirme a ID2 para calcular la columna ID3:
Select ID, (ID + 1) AS ID2, (ID2 + 1) AS ID3 From CLIENTES

El sencillo ejemplo que expongo es para dar a entender mejor el problema, pero el caso real calcula ID2 en base a una subconsulta Select (no una simple suma). No quisiera repetir esa subconsulta en cada lugar de la sentencia donde se necesite, me gustaría saber si existe una alternativa mejor.

Agradezco de antemano sus aportaciones.

Atentamente,

Al González :)

jachguate 09-02-2004 23:51:57

Hola Al.

Podes usar una vista "intermedia", que tenga la columna calculada como un atributo...

Algo como

Código:

Create View clientes_intermedio (id, id2) AS
  Select ID, (ID + 1), From CLIENTES;

Select id, id2, id2 + 1 id3
  from clientes_intermedio;

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 10:01:40.

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