En Thu, 23 Jun 2011 10:50:07 -0400, Sergio Valdes Hurtado
<[email protected]> escribió:
El 23 de junio de 2011 08:39, Luis <[email protected]>
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...
Prueba con lo siguiente:
select fecha, cantidad_mani, cantidad_mani*30 as ventas_estimadas,
cantidad_mani*(select precio from inversion_productos where id_pro=1) as
inversion, (cantidad_mani*30) - (cantidad_mani*(select precio from
inversion_productos where id_pro=1)) as ganancia
from ventas
Hola sergio,
Por aquí estuveron mis tiros pero como no tuve buen resultado recurrí a
los demás experiencia. Además quería que Uds evaluaran lo que estaba
haciendo para apropiarme buenas prácticas.
Acabo de ejecuté la tuya y todo ok :)
Esta es otra desarrollito que quiero hacer con python+postgresql, así que
según tenga cosas hechas, las compartiré para apropiarme de buenas
costumbres.
Reciban todos un abrazo.
--
Saludos,
Luis
--
Este mensaje le ha llegado mediante el servicio de correo electronico que
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema
Nacional de Salud. La persona que envia este correo asume el compromiso de usar
el servicio a tales fines y cumplir con las regulaciones establecidas
Infomed: http://www.sld.cu/
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda