Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Consulta con datos calculados entre tablas

Estas en el tema de Consulta con datos calculados entre tablas en el foro de PostgreSQL en Foros del Web. Saludos Tengo las tablas: Código: =# \d tasas Tabla «public.tasas» Columna | Tipo | Modificadores -------------+-----------------------+---------------------------------------------------- id | integer | not null default nextval('tasas_id_seq'::regclass) descripcion ...
  #1 (permalink)  
Antiguo 27/02/2009, 09:45
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 15 años, 1 mes
Puntos: 7
Consulta con datos calculados entre tablas

Saludos

Tengo las tablas:
Código:
=# \d tasas
                                   Tabla «public.tasas»
   Columna   |         Tipo          |                   Modificadores
-------------+-----------------------+----------------------------------------------------
 id          | integer               | not null default nextval('tasas_id_seq'::regclass)
 descripcion | character varying(50) |
 monto       | numeric(6,2)          |

=# \d sueldos
                                     Tabla «public.sueldos»
      Columna      |         Tipo         |                    Modificadores
-------------------+----------------------+------------------------------------------------------
 id                | integer              | not null default nextval('sueldos_id_seq'::regclass)
 categoria         | character varying(1) | not null
 unidad_tributaria | numeric(6,2)         | not null
Con los valores:
Código:
=# SELECT * from tasas;
 id |    descripcion     | monto
----+--------------------+-------
  1 | Unidad Tributaria  | 46.00

s=# SELECT *  from sueldos;
 id | categoria | unidad_tributaria
----+-----------+-------------------
  6 | B         |              1.12
  3 | A         |              1.00
  7 | C         |              1.37
Me gustaría sacar en una consulta SQL, el valor del sueldo según la unidad_tributaria, de manera que:

A -> (1 * 46)
B -> (1.12 * 46)
C -> (1.37 * 46)

y devuelva:
A | 46
B | 51.52
C | 63.02

Por dónde va la cosa? Desde ya, gracias
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 27/02/2009, 11:21
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años, 8 meses
Puntos: 360
Respuesta: Consulta con datos calculados entre tablas

Un saludo.


No se que eficiente sea pero funciona

select categoria, ((select monto from tasas where id=1)*unidad_tributaria) as valor from sueldos;

Espero te sirva.
  #3 (permalink)  
Antiguo 27/02/2009, 11:34
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Consulta con datos calculados entre tablas

Gracias... me sirve!
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 28/02/2009, 03:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Consulta con datos calculados entre tablas

Para hacerlo con una sola select:
Código:
select categoria, (unidad_tributaria * monto)
 from sueldos join tasas on tasas.id = 1;
Asi no tiras una select para sacar cada valor del sueldo.

Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:10.