Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group