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
Resuleto
Mié, 04/08/2010 - 16:47 — huesos52Ya me han ayudado en el foro de postgresql.
Muchas gracias
Enviar nuevo comentario