Re: Ayuda con consulta

From: Marcos Ortiz <mlortiz(at)uci(dot)cu>
To: Luis <esteban(at)princesa(dot)pri(dot)sld(dot)cu>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con consulta
Date: 2011-06-23 14:49:09
Message-ID: 4E035265.6000101@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Lo que no veo por qué no los almacenas en la tabla,
¿probaste si hay detrimento del rendimiento?

No optimices de forma prematura, prueba y leugo optimiza.

El 6/23/2011 8:39 AM, Luis escribió:
> Hola,
>
> Necesito una mano de los colegas con esta consulta.
>
> Tengo estas dos tablas:
>
> mani=# select * from productos;
> id_pro | descripcion
> --------+-----------------------
> 1 | maní
> 2 | papel
> 3 | sal
> 4 | azúcar
> 5 | pasaje y alimentación
> (5 filas)
>
> mani=# select * from ventas;
> id_ven | fecha | cantidad_mani | id_inv
> --------+------------+---------------+--------
> 1 | 2011-06-22 | 6.0 | 1
> (1 fila)
>
> y necesito obtener los siguientes datos.
>
> fecha | cantidad_mani | ventas_estimadas(cantidad_mani*30) |
> inversión(cantidad_mani*15) | ganancia(ventas_estimadas - inversión)
>
> Estaba probando así, y todo bien
>
> mani=# select fecha, cantidad_mani, cantidad_mani*30 as
> ventas_estimadas, cantidad_mani*(select precio from
> inversion_productos where id_pro=1) as inversion from ventas;
>
> fecha | cantidad_mani | ventas_estimadas | inversion
> ------------+---------------+------------------+-----------
> 2011-06-22 | 6.0 | 180.0 | 96.000
> (1 fila)
>
> pero cuando trato de calcular la ganancia,
>
> mani=# select fecha, cantidad_mani, cantidad_mani*30 as
> ventas_estimadas, cantidad_mani*(select precio from
> inversion_productos where id_pro=1) as inversion,
> ventas_estimadas-inversion as ganancia from ventas;
> ERROR: no existe la columna «ventas_estimadas»
> LÍNEA 1: ...inversion_productos where id_pro=1) as inversion,
> ventas_est...
>
> como ventas_estimadas e inversion no son campos de la tabla no puedo
> usarlos en el cálculo. Qué pues me sugieren?
>
> Inicialmente introducía todos los datos a la tabla pero consideré que
> era mejor guardar solo algunos y los demás calcularlos a partir de
> estos. Es elegante esto o es mejor guardarlos todos para ganar en
> velocidad a coste del tamaño de la db?
>
> Desde ya, muchas gracias
>

--
Marcos Luís Ortíz Valmaseda
Software Engineer (UCI)
http://marcosluis2186.posterous.com
http://twitter.com/marcosluis2186

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Angel Hernandez Moreno 2011-06-23 14:49:10 Re: backup solo de algunas tuplas
Previous Message Marcelo Robin 2011-06-23 14:17:26 Re: PUEDEN DARME UNA MANO CON NPGSQL ?