Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group