Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Crear Vista a tabla con campo calculado (https://www.clubdelphi.com/foros/showthread.php?t=48211)

amadis 18-09-2007 20:40:18

Crear Vista a tabla con campo calculado
 
Hola!

Quisiera saber si se puede crear una vista de una tabla que posee un campo calculado (edad) a partir de un campo fechanacim y la fecha actual.

Estoy trabajando con paradox, BDE, Delphi 7.

He intentado con

Código SQL [-]
create view edades
 as select * from personas

Pero me crea la vista sin el campo calculado edad (campo que he agregado desde el editor de delphi, tipo calculate, y lo calculo en evento OnCalcField de la tabla.

Escucho sus opiniones

La idea de armar esta vista es despues hacer un

Código SQL [-]
select edad, count(*) from edades

Y obtener los totales de cada edad, y ademas poder saber cuantas personas hay de 1 a 3 años, etc etc.

Muchas Gracias!

duilioisola 18-09-2007 20:47:04

Esto funciona en Firebird/Interbase:

Edad con Fecha y hora
Código SQL [-]
select fechanacim , "NOW" - fechanacim as EDAD from personas

Edad solo con fecha
Código SQL [-]
select fechanacim , "TODAY" - fechanacim as EDAD from personas

Pruébalo a ver si te sirve...

duilioisola 18-09-2007 20:48:22

Bueno, no devuelve la edad, devuelve una fecha ... voy a ver si encuentro otra solucion ...

marcoszorrilla 18-09-2007 22:22:24

Mira este ejemplo que he preparado con unos datos que tengo por aquí y que funciona, a ver si se aproxima a lo que quieres.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
F:String;
begin
F:=FormatDateTime('mm/dd/yyyy',Date);
Query1.close;
Query1.Sql.Clear;
Query1.Sql.Add('Select Nombre, Apellidos,comienzo,Cast(('''+f+'''- comienzo)/365 as Integer) as edad');
Query1.Sql.Add('from alumnos');
Query1.Open;
end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 18:50:35.

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