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)
-   -   Create view con campo calculado o condicionado (https://www.clubdelphi.com/foros/showthread.php?t=52851)

fcios 01-02-2008 18:04:14

Create view con campo calculado o condicionado
 
Hola, gracias por tu ayuda,

necesito crear una vista con un campo condicionado, por ejemplo si el campo2='A' que muestre 'AAAA' , si es 'B' 'BBBB' sino 'OTRA'
esto lo debe hacer firebird no el evento calculated del dataset

por ejemplo para crear una tabla con un campo calculado hago

CREATE TABLE TABLA5 (
campo1 INTEGER NOT NULL,
campo2 CHAR(1) NOT NULL,
CALC2 COMPUTED BY ((CASE
WHEN campo2='A' then 'AAAAA'
WHEN campo2='B' then 'BBBBBB'
ELSE 'OTRA' END))
);

una vista SIN el campo calculado seria

CREATE VIEW V3( CAMPO1, CAMPO2 )
AS
select campo1,campo2
from TABLA5
where campo1 = 1;

pero me dá error si quiero crear una vista con un campo calculado, no me deja colocar la palabra computed por ningún lado

Gracias

jhonny 01-02-2008 18:22:10

Si estas usando FireBird 1.5 o superior puedes hacer uso del case asi:

Código SQL [-]
select campo1, 
       CASE campo2
         WHEN 'A' THEN 'AAAA'
         WHEN 'B' THEN 'BBBB'
       ELSE 'OTRA'
       END campo2
from TABLA5

Espero te sirva ;).

fcios 01-02-2008 19:05:16

Sí gracias, me quedó

CREATE VIEW V2( CAMPO1, CAMPO2, calculado )
AS
select campo1,campo2,
CASE campo2
WHEN 'A' THEN 'AAAA'
WHEN 'B' THEN 'BBBB'
ELSE 'OTRA'
END campo2
from TABLA5
where campo1 = 1;


La franja horaria es GMT +2. Ahora son las 10:02:57.

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