Re:

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Borja Martín <borja(at)dagi3d(dot)net>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re:
Date: 2004-04-02 13:50:08
Message-ID: 20040402135008.GD31403@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Fri, Apr 02, 2004 at 02:27:49PM +0200, Borja Martín wrote:
> supongamos que tengo en la tabla baskets la siguiente fila:
> +----+---------+------------+--------+
> | id | user_id | orders_ids | date |
> +----+---------+------------+--------+
> | 1 | borja | 139|140 | 200402 |
> +----+---------+------------+--------+

Esto quiere decir que tu modelo no está correctamente normalizado. Yo
trabajé en una empresa que tenían un modelo así y creeme, no es
agradable. Si puedes, corrígelo, y todas las aplicaciones que lo usen.
A la larga, es menos trabajo, y mientras antes mejor.
(Puedes crear una vista que genere esta versión no normalizada a partir
de la normalizada para mantener compatibilidad mientras corriges las
aplicaciones)

> se podria en un solo query obtener los orders_ids por separado(139 y
> 140) para luego hacer el query SELECT * FROM baskets WHERE baskets.id
> = 1 AND (orders.id = 139 OR orders.id = 140) ?

Si, se puede, pero es doloroso y hay que saber la cardinalidad de
antemano. Checa la función split_part().

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Major Fambrough: You wish to see the frontier?
John Dunbar: Yes sir, before it's gone.

In response to

  • at 2004-04-02 12:27:49 from Borja Martín

Responses

  • Re: at 2004-04-02 16:18:28 from Eligio Cachón Menéndez

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2004-04-02 13:56:21 Re: Acerca del cambio reciente de la lista de correos
Previous Message Ricardo De Castro Aquino 2004-04-02 13:28:06 Re: Acerca del cambio reciente de la lista de correos