Re: Unir varias tablas en un solo registro

From: "Calabaza Calabaza" <calalinux(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Unir varias tablas en un solo registro
Date: 2008-03-27 21:58:58
Message-ID: 958993320803271458w28f65cexf09d8f09e1d60422@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

l 27/03/08, MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe> escribió:
> Tengo 5 tablas y necesito que los datos vayan en un solo registro
>
> Les muestro unos datos

> Esta es la tabla principal
Bueno, lo primero le puse alias a las tablas...

ficha_tejeduria a
idficha idfamil iddescr
125 01 003

ficha_hilados b
idficha porcentaje idhilo
125 20X 131
125 50X 172
125 30X 168

mfamilias c
idfamil nomfamil
01 JERSEY

mdescripcion d
iddescr nomdescr
003 SIMPLE

mhilos e
idhilo titulo desc_hilo
131 19/1 COC
172 12/1 ALGOD. OPEN
168 24/75 COC

> Asi deberia de quedar una combinacion.
> idficha tela
> 125 JERSEY SIMPLE 20X 19/1 COC 50X 12/1 ALGOD. OPEN 30X 24/75 COC

Luego hice la concatenacion de los campos, asumiendo que todos son de
tipo string...

Select
a.idficha,
c.nomfamil||' '||d.nomdescr||' '||b.porcentaje||' '||e.titulo||' '||e.desc_hilo
||' '||b.porcentaje||' '||e.titulo||' '||e.desc_hilo||'
'||b.porcentaje||' '||e.titulo||' '||e.desc_hilo as tela
from
ficha_tejeduria a
left join mfamilias c on (a.idfamil=c.idfamil)
left join ficha_hilados b on (a.idficha=b.idficha)
left join mdescripcion d on (a.iddescr=d.iddescr)
left join mhilos e on (b.idhilo=e.idhilo)

Pienso que aquí el problema es el from, tienes diferentes datos de la
misma tabla origen,
así como te lo puse pienso que te devolvería el mismo valor en las columnas

b.porcentaje||' '||e.titulo||' '||e.desc_hilo

O sea que o está faltando alguan tabla que no estas mostrando, o está
mal tu diseño de tu BD, podrías enviar una imagen de tu diagrama de
entidad / relación (DER) para ver como es la estructura?

> Como podria empezar a hacerlo

Mira como lo he hecho, si puedes corrigelo y nos cuentas, sino muestra
el DER a ver que esta faltando o para ver que esta mal diseñado..

> y si podria tenerlo en una vista seria mucho mejor,

Siempre puedes hacer una vista de una setencia select...

> aunque viendolo bien creo que solo podria ser con una funcion

Abría que verlo mejor!

> Gracias
Cuando quieras!
--
§~^Calabaza^~§ from Villa Elisa, Paraguay
----------------
A hendu hína: TIERRA SANTA - Leyenda
http://foxytunes.com/artist/tierra+santa/track/leyenda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Calabaza Calabaza 2008-03-27 22:19:19 Re: Unir varias tablas en un solo registro
Previous Message Miguel Rodríguez Penabad 2008-03-27 21:44:48 Re: Copiar contenido de un serial a otro campo y concatenar campos