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 <[email protected]>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 < > [email protected]> 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
