From: | Miguel Angel Hernandez Moreno <miguel(dot)hdz(dot)mrn(at)gmail(dot)com> |
---|---|
To: | oscar arocha <arocha(dot)oscar(at)gmail(dot)com> |
Cc: | José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com>, Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Relacionar tablas cliente y telefono |
Date: | 2012-11-09 17:45:12 |
Message-ID: | CAGYOd3oRWHQ=OMxartV_WBNg+D=6Chc=jbqj-NOE1b0SZtn6Cg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Saludos Fermin
Mira aqui hay una consulta que te puede ayudar, pero la restriccion es que
cada persona tenga los 3 telefonos dados de alta.
Esta funcion la manejas con el CROSSTAB
-- Activar la funcion en postgres
create crosstab;
-- Consulta
SELECT c.nombre, crt.casa, crt.movil, crt.trabajo from
(SELECT * FROM crosstab( 'SELECT codigo_cliente, codigo_lugar , telefono
FROM telefono
order by codigo_cliente, codigo_lugar') AS ct
(id_cliente integer, casa integer, movil integer, trabajo integer) ) crt
inner join
cliente c
on crt.id_cliente=c.codigo_cliente;
El 9 de noviembre de 2012 10:58, oscar arocha <arocha(dot)oscar(at)gmail(dot)com>escribió:
> Saludos José, te comento que para poder visualizar la informacion de la
> manera que sedeas debes hacer una serie de subconsultas en en tu sentencia
> principal algo asi
>
> SELECT A.nombre,
> (SELECT telefono FROM Telefono FROM codigo_lugar = 1 AND codigo_cliente
> = A.codigo_cliente ) AS casa,
> (SELECT telefono FROM Telefono FROM codigo_lugar = 2 AND codigo_cliente
> = A.codigo_cliente ) AS movil,
> (SELECT telefono FROM Telefono FROM codigo_lugar = 3 AND codigo_cliente
> = A.codigo_cliente ) AS tbjo
> FROM cliente A
>
> Espero te pueda servir.
>
>
> El 9 de noviembre de 2012 12:13, José Fermín Francisco Ferreras <
> josefermin54(at)hotmail(dot)com> escribió:
>
> Buenos días!!
>>
>> Tengo 3 tablas (Cliente , Teléfono y Lugar)
>>
>> En la tabla cliente tengo 2 campos: Codigo_cliente y nombre
>> En la tabla de Telefono tengo 4 campos: codigo,codigo_cliente,telefono, y
>> codigo_lugar.
>> En la tabla de Lugar tengo 2 campos: codigo_lugar,descripcion.
>>
>> En la tabla de cliente tengo los siguientes datos:
>> *codigo_cliente Nombre*
>> 1 Fermin
>> 2 Miguelina
>>
>> En la tabla de Lugar tengo lo siguiente:
>> *Codigo_lugar descripcion*
>> 1 casa
>> 2 movil
>> 3 trabajo
>>
>> En la tabla de telefono tengo lo siguiente:
>>
>> *codigo codigo_cliente telefono codigo_lugar*
>> 1 1 1234568 1
>> 2 1 8558544 3
>> 3 1 8745352 2
>> 4 2 3645458 3
>> 5 2 7566414 2
>>
>>
>> Quisiera visualizar la informacion de la siguiente manera:
>>
>> *Nombre telefono_casa telefono_movil
>> telefono_trabajo*
>> Fermin 1234568 8745352
>> 8558544
>> Miguelina 7566414
>> 3645458
>>
>>
>> Se podrá mostrar la información de esta manera??
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> ing. José Fermín Francisco Ferreras
>> San Francisco de Macorís, Rep. Dom.
>>
>
>
>
> --
> *Ing. Oscar Arocha*
> CIV: 208.476
> Linux User: 556027
> tlf: 58-416-4257379
> twitter: @ArochaOscar
>
>
--
ISC Miguel Angel Hernandez Moreno
From | Date | Subject | |
---|---|---|---|
Next Message | José Fermín Francisco Ferreras | 2012-11-09 19:16:19 | RE: Relacionar tablas cliente y telefono |
Previous Message | oscar arocha | 2012-11-09 16:58:27 | Re: Relacionar tablas cliente y telefono |