Como puedo accesar a un atributo de un type en una consulta?

From: Daniel Orozco <huesos52(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Como puedo accesar a un atributo de un type en una consulta?
Date: 2010-08-04 14:54:17
Message-ID: AANLkTikg4-nspnf5vy=FWxYxee364AR7XzngQJxRsKQ4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buen día Foro

Mostraré con un ejemplo lo que quiero lograr.

pruebas=> create type persona as (cedula integer,nombre varchar(80));
CREATE TYPE
pruebas=> create table estudiantes(info persona,carrera varchar(90));
CREATE TABLE
pruebas=> \d estudiantes;
Tabla ½public.estudiantes╗
Columna | Tipo | Modificadores
---------+-----------------------+---------------
info | persona |
carrera | character varying(90) |

Tengo un tipo llamado persona y a su vez creo una tabla estudiantes donde un
campo info será de este nuevo tipo.

Hago una inserción en la tabla estudiantes así:

pruebas=> INSERT INTO estudiantes
VALUES((75102765,'Daniel')::persona,'Ing. sistemas');
INSERT 0 1
pruebas=# select *from estudiantes;
info | carrera
-------------------+---------------
(75102765,Daniel) | Ing. sistemas
(1 fila)

Ahora bien, me gustaría hacer una consulta que me traiga el nombre y la
carrera. (Sin la cedula)
Como puedo accesar a este atributo unicamente desde una consulta SQL?

He probado

SELECT e.info.nombre,carrera FROM estudiantes e;

Pero me dice que no existe el esquema e.
Entonces probé

SELECT public.e.info.nombre,carrera FROM estudiantes e;

Pero me saca un error de cross-database references not implemented.

Espero me puedan ayudar.

saludos

--
Daniel Orozco Jaramillo
Ing. Sistemas y Telecomunicaciones
OCE (Oracle Certified SQL Expert)

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Moises Alberto Lindo Gutarra 2010-08-04 15:25:00 Re: Como puedo accesar a un atributo de un type en una consulta?
Previous Message Diego Ayala 2010-08-04 13:52:58 Re: problemas con pgpool-II