From: | Hellmuth Vargas <hivs77(at)gmail(dot)com> |
---|---|
To: | "jvenegasperu (dot)" <jvenegasperu(at)gmail(dot)com>, Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Recorre select en memoria por cada registro de otra tabla |
Date: | 2017-11-14 14:44:10 |
Message-ID: | CAN3Qy4qx1W3dObL4Kbf41ii-0793_r-aY1-4XeDw-YL2JVSbsQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Jose
La consulta sirve si los empleados trabajan en varias empresas, con
diferentes sueldos, primas y comisiones, por eso la condición del JOIN es
por empresa y periodo.
El 13 de noviembre de 2017, 09:13, jvenegasperu .<jvenegasperu(at)gmail(dot)com>
escribió:
> Hellmuth si todos los empleados trabajaran con una sola empresa el join
> seria suficiente pero
>
> mi pregunta era si puedo por ejemplo hacerle select al cursor que ya tiene
> digamos 5 registros para el periodo. para ellos compararlos con la tabla de
> empleados ya que por ejemplo un empleado podria tener 3 coincidencias otro
> empleado solo 2 coincidencias y otro solo una y en ese caso me gustaria
> armar el insert pero previamente tomar un empleado evaluar cuantas empresas
> le toca efectuar el calculo para cada empresa y guardar el valor final en
> una variable que pondre en el insert ya que me debe quedar una linea por
> cada empleado. espero puedas ayudarme gracias por responder.
>
>
>
> El 12 de noviembre de 2017, 11:02, Hellmuth Vargas <hivs77(at)gmail(dot)com>
> escribió:
>
>> Hola lista
>>
>> Seguramente tiene otra relación empleado_sueldo así
>>
>> periodo|Nombre|empresa|sueldo
>> 201711 empleado1|empresa1|10000
>> 201711|empleado1|empresa2|40000
>> 201711|empleado2|empresa3|20000
>> 201711|empleado2|empresa1|23000
>>
>> Pues creo que con un JOIN es suficiente (si entendí bien el problema) :
>>
>> SELECT a.periodo,a.nombre,a.empresa,a.sueldo,
>> a.sueldo*b.comision as empleado_comision,
>> a.sueldo*b.prima as empleado_prima
>> FROM empleado_sueldo as a
>> JOIN empleados as b
>> ON a.empresa=b.empresa and a.periodo=b.periodo
>>
>>
>>
>>
>>
>>
>> El 11 nov. 2017 12:45 PM, "jvenegasperu ." <jvenegasperu(at)gmail(dot)com>
>> escribió:
>>
>> Hola a todos buen dia
>>
>> Me ha tocado elaborar una planilla de empleados y tengo esta situación
>>
>> del sueldo de cada trabajador se efectua un descuento de acuerdo a la
>> empresa que le administra la pension tengo una tabla con los parametros a
>> usar en ese mes algo asi
>>
>> periodo|empresa|comision|prima
>> 201711|empresa1|10%|13%
>> 201711|empresa2|11%|13%
>> 201711|empresa3|14%|13%
>> 201712|empresa1|15%|13%
>> 201712|empresa2|12%|13%
>> 201712|empresa3|12%|13%
>>
>> pienso escribir una funcion que inserte en una tabla planilla el id del
>> trabajador y multiplique el sueldo por el porcentaje que le corresponda de
>> acuerdo a la empresa que tenga registrado.
>>
>> entiendo que esta primera tabla la podre tener en un cursor asi:
>>
>> OPEN cur FOR SELECT campo FROM tabla where periodo = '201711'
>>
>> Mi pregunta es como recorro o consulto luego ese cursor pora cada trabajador para tomar el porcentaje que le corresponda desde otro cursor donde ire haciendo el insert y el calculo
>>
>> José Mercedes Venegas Acevedo
>> cel Mov RPC 964185205
>> Member of the PHP Documentation Group (Spanish)
>>
>>
>>
>
>
> --
> José Mercedes Venegas Acevedo
> cel Mov RPC 964185205
>
> Member of the PHP Documentation Group (Spanish)
>
--
Cordialmente,
Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate
From | Date | Subject | |
---|---|---|---|
Next Message | RODRIGUEZ CORTES MARIO IGNACIO | 2017-11-15 20:54:38 | Problema al dar de alta valor vació en JSON |
Previous Message | Hellmuth Vargas | 2017-11-12 16:02:07 | Re: Recorre select en memoria por cada registro de otra tabla |