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
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 ? |