Re: [pgsql-es-ayuda] Ayuda con cosulta

2016-10-07 Por tema npolanco
Hola, disculpen la demora es que no estaba en el centro y no tenia acceso al 
correo, muchisimas gracias por las respuestas, ayer mismo estaba trabajando en 
una solucion con la funcion ventana y la clapsula WITH y ya casi me daba la 
solucion, es lo que tu dices anthony me vienen unas ideas maravillosas con eso, 
jajaja. Lastima que despues de tu curso no haya podido trabajar mas seguido en 
esto, asi no tubiera que preguntar tanto, pero practicamente se me ha olvidado 
todo, jajaja 

Saludos 

- Mensaje original -

De: "Anthony Sotolongo" <asotolo...@gmail.com> 
Para: "Guillermo E. Villanueva" <guillermo...@gmail.com> 
CC: "Lazaro Garcia" <lazaro3...@gmail.com>, npola...@cuij.edu.cu, 
"pgsql-es-ayuda" <pgsql-es-ayuda@postgresql.org> 
Enviados: Miércoles, 5 de Octubre 2016 7:19:14 
Asunto: Re: [pgsql-es-ayuda] Ayuda con cosulta 



Como función ventana si lo necesita si, pero cual es la partición lo debe 
decidir el, puede que hayan mas campos en la tabla!!! 

y cuando descubra las potencialidades de las funciones ventanas se ponga 
creativo, jeje 


es solo un ejemplo y está con la partición de la tabla completa para que el lo 
ajuste 


Saludos 

On 05/10/16 08:00, Guillermo E. Villanueva wrote: 



Hola, nunca usé lag() pero no debería ser con partición por el paciente? 

El 4 de octubre de 2016, 15:20, Anthony Sotolongo < asotolo...@gmail.com > 
escribió: 





Hola Polanco, parece que tienes en la mente resolverlo con triggers, lo cual es 
válido y lo que te dice Lazaro es uno de los caminos a resolver la sitaución, 
pero también puedes calcularlo en un SELECT utilizando funciones ventanas para 
la variación diaria y para el otro campo una subconsulta, si tienes muchos 
datos, puede que algún indice en consulta te pueda hacer un poco mas rápida la 
consulta. 

Mira esta consulta: 


SELECT r.*, COALESCE ( peso - lag(peso,1) over ( order by fecha ),0) , COALESCE 
( peso- (select peso from registro where consulta='SI' and 
registro.fecha

Me parece que lo que debes es crear un trigger before insert, sobre esa tabla, 
de forma tal que en la función que lo implemente puedas buscar el ultimo peso 
del paciente y modificar el registro NEW.incrmento_diario en base al cálculo 
realizado.

Esta página te puede ser de ayuda en el tema de los triggers. Saludos. 
http://www.postgresql.org.es/node/301 -Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org [ 
mailto:pgsql-es-ayuda-ow...@postgresql.org ] En nombre de npola...@cuij.edu.cu 
Enviado el: martes, 4 de octubre de 2016 12:55
Para: pgsql-es-ayuda@postgresql.org Asunto: [pgsql-es-ayuda] Ayuda con cosulta
Importancia: Alta

Hola a todos, quería ver si me podrían ayudar con una consulta que llevo rato 
tratando de hacerla pero no doy pie con bola, no hay modo que logre crearla, si 
alguno me pudiera ayudar. El problema es el siguiente:

Tengo una tabla con datos como estos:

PacientePesoFecha   Consulta
Hisomi  89  24/07/2014  SI
Hisomi  89.125/07/2014  
Hisomi  89  26/07/2014  
Hisomi  89  27/07/2014  
Hisomi  89.228/07/2014  
Hisomi  89.15   29/07/2014  
Hisomi  89.18   30/07/2014  
Hisomi  89.21   31/07/2014  SI
Hisomi  89.24   01/08/2014  
Hisomi  89.27   02/08/2014  
Hisomi  89.303/08/2014  
Hisomi  89.33   04/08/2014  
Hisomi  89.36   05/08/2014  
Hisomi  89.39   06/08/2014  
Hisomi  89.42   07/08/2014  SI
Hisomi  89.45   08/08/2014  
Hisomi  89.48   09/08/2014  
Hisomi  89.51   10/08/2014  
Hisomi  89.54   11/08/2014  
Hisomi  89.57   12/08/2014  


Donde llevo el registro de un paciente dado de su variacion de peso diario y 
quisiera agregar 2 columnas mas que almacene al insertar un registro nuevo en 
una la diferencia de peso de ese con respecto al dia anterior y la otra la 
diferencia de peso entre ese dia y el dia de la consulta anterior, algo asi 
como esto.

PacientePesoFecha Consulta  
Incrmento_diarioIncremento_Consulta
Hisomi  89  24/07/2014  SI  
0   0
Hisomi  89.125/07/2014  
0.1 0.1
Hisomi  89  26/07/2014  
-0.10
Hisomi  89  27/07/2014  
0   0
Hisomi  89.228/07/2014  

Re: [pgsql-es-ayuda] Ayuda con cosulta

2016-10-05 Por tema Anthony Sotolongo
Como  función ventana si lo necesita si, pero cual es la partición  lo 
debe decidir el,  puede que hayan mas campos en la tabla!!!


y cuando descubra las potencialidades de las funciones ventanas se ponga 
creativo, jeje


es solo un  ejemplo y  está con la partición de la tabla completa para 
que el lo ajuste


Saludos


On 05/10/16 08:00, Guillermo E. Villanueva wrote:

Hola, nunca usé lag() pero no debería ser con partición por el paciente?

El 4 de octubre de 2016, 15:20, Anthony Sotolongo 
> escribió:


Hola Polanco, parece que tienes en la mente resolverlo con
triggers, lo cual es válido y lo que te dice Lazaro es uno de los
caminos a resolver la sitaución, pero también puedes calcularlo en
un SELECT utilizando *funciones ventanas* para la variación diaria
y para el otro campo una subconsulta, si tienes muchos datos,
puede que algún indice en consulta te pueda hacer un poco mas
rápida la consulta.

Mira esta consulta:

SELECT r.*, COALESCE (  peso - lag(peso,1) over ( order by fecha 
),0) , COALESCE ( peso- (select peso from registro  where

consulta='SI' and registro.fecha
Me parece que lo que debes es crear un trigger before insert,
sobre esa tabla, de forma tal que en la función que lo implemente
puedas buscar el ultimo peso del paciente y modificar el registro
NEW.incrmento_diario en base al cálculo realizado. Esta página te
puede ser de ayuda en el tema de los triggers. Saludos.
http://www.postgresql.org.es/node/301
 -Mensaje
original- De: pgsql-es-ayuda-ow...@postgresql.org

[mailto:pgsql-es-ayuda-ow...@postgresql.org
] En nombre de
npola...@cuij.edu.cu  Enviado el:
martes, 4 de octubre de 2016 12:55 Para:
pgsql-es-ayuda@postgresql.org
 Asunto: [pgsql-es-ayuda]
Ayuda con cosulta Importancia: Alta Hola a todos, quería ver si
me podrían ayudar con una consulta que llevo rato tratando de
hacerla pero no doy pie con bola, no hay modo que logre crearla,
si alguno me pudiera ayudar. El problema es el siguiente: Tengo
una tabla con datos como estos: Paciente Peso Fecha Consulta
Hisomi 89 24/07/2014 SI Hisomi 89.1 25/07/2014 Hisomi 89
26/07/2014 Hisomi 89 27/07/2014 Hisomi 89.2 28/07/2014 Hisomi
89.15 29/07/2014 Hisomi 89.18 30/07/2014 Hisomi 89.21 31/07/2014
SI Hisomi 89.24 01/08/2014 Hisomi 89.27 02/08/2014 Hisomi 89.3
03/08/2014 Hisomi 89.33 04/08/2014 Hisomi 89.36 05/08/2014 Hisomi
89.39 06/08/2014 Hisomi 89.42 07/08/2014 SI Hisomi 89.45
08/08/2014 Hisomi 89.48 09/08/2014 Hisomi 89.51 10/08/2014 Hisomi
89.54 11/08/2014 Hisomi 89.57 12/08/2014 Donde llevo el registro
de un paciente dado de su variacion de peso diario y quisiera
agregar 2 columnas mas que almacene al insertar un registro nuevo
en una la diferencia de peso de ese con respecto al dia anterior
y la otra la diferencia de peso entre ese dia y el dia de la
consulta anterior, algo asi como esto. Paciente Peso Fecha
Consulta Incrmento_diario Incremento_Consulta Hisomi 89
24/07/2014 SI 0 0 Hisomi 89.1 25/07/2014 0.1 0.1 Hisomi 89
26/07/2014 -0.1 0 Hisomi 89 27/07/2014 0 0 Hisomi 89.2 28/07/2014
0.2 0.2 Hisomi 89.15 29/07/2014 -0.05 0.15 Hisomi 89.18
30/07/2014 0.03 0.18 Hisomi 89.21 31/07/2014 SI 0.03 0.21 Hisomi
89.24 01/08/2014 0.03 0.03 Hisomi 89.27 02/08/2014 0.03 0.06
Hisomi 89.3 03/08/2014 0.03 0.09 Hisomi 89.33 04/08/2014 0.03
0.12 Hisomi 89 05/08/2014 -0.33 -0.21 Hisomi 89.1 06/08/2014 0.1
-0.11 Hisomi 89.15 07/08/2014 SI 0.05 -0.06 Hisomi 89.15
08/08/2014 0 0 Hisomi 89.24 09/08/2014 0.09 0.09 Hisomi 89.3
10/08/2014 0.06 0.15 Hisomi 89.3 11/08/2014 0 0.15 Hisomi 89.57
12/08/2014 0.27 0.42 Los dias de consulta no son cada 7 dias, el
intervalo es variado, solo que aquí coincide con frecuencia
semanal. Gracias de ante mano. Saludos - Enviado a la lista de
correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org
) Para cambiar tu suscripci
n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
 - Enviado a
la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org

)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda





Re: [pgsql-es-ayuda] Ayuda con cosulta

2016-10-05 Por tema Guillermo E. Villanueva
Hola, nunca usé lag() pero no debería ser con partición por el paciente?

El 4 de octubre de 2016, 15:20, Anthony Sotolongo 
escribió:

> Hola Polanco, parece que tienes en la mente resolverlo con triggers, lo
> cual es válido y lo que te dice Lazaro es uno de los caminos a resolver la
> sitaución, pero también puedes calcularlo en un SELECT utilizando *funciones
> ventanas* para la variación diaria y para el otro campo una subconsulta,
> si tienes muchos datos, puede que algún indice en consulta te pueda hacer
> un poco mas rápida la consulta.
>
> Mira esta consulta:
>
> SELECT r.*, COALESCE (  peso - lag(peso,1) over ( order by fecha  ),0) ,
> COALESCE ( peso- (select peso from registro  where consulta='SI' and
> registro.fecha  FROM registro r
>
> *registro* es el nombre de tu tabla
>
> ojala des pie con bola, jeje
>
>
> saludos
> On 04/10/16 14:26, Lazaro Garcia wrote:
>
> Me parece que lo que debes es crear un trigger before insert, sobre esa 
> tabla, de forma tal que en la función que lo implemente puedas buscar el 
> ultimo peso del paciente y modificar el registro NEW.incrmento_diario en base 
> al cálculo realizado.
>
> Esta página te puede ser de ayuda en el tema de los triggers. Saludos.
> http://www.postgresql.org.es/node/301
>
>
> -Mensaje original-
> De: pgsql-es-ayuda-ow...@postgresql.org 
> [mailto:pgsql-es-ayuda-ow...@postgresql.org 
> ] En nombre de npola...@cuij.edu.cu
> Enviado el: martes, 4 de octubre de 2016 12:55
> Para: pgsql-es-ayuda@postgresql.org
> Asunto: [pgsql-es-ayuda] Ayuda con cosulta
> Importancia: Alta
>
> Hola a todos, quería ver si me podrían ayudar con una consulta que llevo rato 
> tratando de hacerla pero no doy pie con bola, no hay modo que logre crearla, 
> si alguno me pudiera ayudar. El problema es el siguiente:
>
> Tengo una tabla con datos como estos:
>
> Paciente  PesoFecha   Consulta
> Hisomi89  24/07/2014  SI
> Hisomi89.125/07/2014  
> Hisomi89  26/07/2014  
> Hisomi89  27/07/2014  
> Hisomi89.228/07/2014  
> Hisomi89.15   29/07/2014  
> Hisomi89.18   30/07/2014  
> Hisomi89.21   31/07/2014  SI
> Hisomi89.24   01/08/2014  
> Hisomi89.27   02/08/2014  
> Hisomi89.303/08/2014  
> Hisomi89.33   04/08/2014  
> Hisomi89.36   05/08/2014  
> Hisomi89.39   06/08/2014  
> Hisomi89.42   07/08/2014  SI
> Hisomi89.45   08/08/2014  
> Hisomi89.48   09/08/2014  
> Hisomi89.51   10/08/2014  
> Hisomi89.54   11/08/2014  
> Hisomi89.57   12/08/2014  
>
>
> Donde llevo el registro de un paciente dado de su variacion de peso diario y 
> quisiera agregar 2 columnas mas que almacene al insertar un registro nuevo en 
> una la diferencia de peso de ese con respecto al dia anterior y la otra la 
> diferencia de peso entre ese dia y el dia de la consulta anterior, algo asi 
> como esto.
>
> Paciente  PesoFecha Consulta  
> Incrmento_diarioIncremento_Consulta
> Hisomi89  24/07/2014  SI  
> 0   0
> Hisomi89.125/07/2014  
> 0.1 0.1
> Hisomi89  26/07/2014  
> -0.10
> Hisomi89  27/07/2014  
> 0   0
> Hisomi89.228/07/2014  
> 0.2 0.2
> Hisomi89.15   29/07/2014  
> -0.05   0.15
> Hisomi89.18   30/07/2014  
> 0.030.18
> Hisomi89.21   31/07/2014  SI  
> 0.030.21
> Hisomi89.24   01/08/2014  
> 0.030.03
> Hisomi89.27   02/08/2014  
> 0.030.06
> Hisomi89.303/08/2014  
> 0.030.09
> Hisomi89.33   04/08/2014  
> 0.030.12
> Hisomi 

Re: [pgsql-es-ayuda] Ayuda con cosulta

2016-10-04 Por tema Anthony Sotolongo
Hola Polanco, parece que tienes en la mente resolverlo con triggers, lo 
cual es válido y lo que te dice Lazaro es uno de los caminos a resolver 
la sitaución, pero también puedes calcularlo en un SELECT utilizando 
*funciones ventanas* para la variación diaria y para el otro campo una 
subconsulta, si tienes muchos datos, puede que algún indice en consulta 
te pueda hacer un poco mas rápida la consulta.


Mira esta consulta:

SELECT r.*, COALESCE (  peso - lag(peso,1) over ( order by fecha ),0) , 
COALESCE ( peso- (select peso from registro  where consulta='SI' and 
registro.fecha
 FROM registro r

*registro* es el nombre de tu tabla

ojala des pie con bola, jeje


saludos

On 04/10/16 14:26, Lazaro Garcia wrote:

Me parece que lo que debes es crear un trigger before insert, sobre esa tabla, 
de forma tal que en la función que lo implemente puedas buscar el ultimo peso 
del paciente y modificar el registro NEW.incrmento_diario en base al cálculo 
realizado.

Esta página te puede ser de ayuda en el tema de los triggers. Saludos.

http://www.postgresql.org.es/node/301


-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de npola...@cuij.edu.cu
Enviado el: martes, 4 de octubre de 2016 12:55
Para: pgsql-es-ayuda@postgresql.org
Asunto: [pgsql-es-ayuda] Ayuda con cosulta
Importancia: Alta

Hola a todos, quería ver si me podrían ayudar con una consulta que llevo rato 
tratando de hacerla pero no doy pie con bola, no hay modo que logre crearla, si 
alguno me pudiera ayudar. El problema es el siguiente:

Tengo una tabla con datos como estos:

PacientePesoFecha   Consulta
Hisomi  89  24/07/2014  SI
Hisomi  89.125/07/2014  
Hisomi  89  26/07/2014  
Hisomi  89  27/07/2014  
Hisomi  89.228/07/2014  
Hisomi  89.15   29/07/2014  
Hisomi  89.18   30/07/2014  
Hisomi  89.21   31/07/2014  SI
Hisomi  89.24   01/08/2014  
Hisomi  89.27   02/08/2014  
Hisomi  89.303/08/2014  
Hisomi  89.33   04/08/2014  
Hisomi  89.36   05/08/2014  
Hisomi  89.39   06/08/2014  
Hisomi  89.42   07/08/2014  SI
Hisomi  89.45   08/08/2014  
Hisomi  89.48   09/08/2014  
Hisomi  89.51   10/08/2014  
Hisomi  89.54   11/08/2014  
Hisomi  89.57   12/08/2014  


Donde llevo el registro de un paciente dado de su variacion de peso diario y 
quisiera agregar 2 columnas mas que almacene al insertar un registro nuevo en 
una la diferencia de peso de ese con respecto al dia anterior y la otra la 
diferencia de peso entre ese dia y el dia de la consulta anterior, algo asi 
como esto.

PacientePesoFecha Consulta  
Incrmento_diarioIncremento_Consulta
Hisomi  89  24/07/2014  SI  
0   0
Hisomi  89.125/07/2014  
0.1 0.1
Hisomi  89  26/07/2014  
-0.10
Hisomi  89  27/07/2014  
0   0
Hisomi  89.228/07/2014  
0.2 0.2
Hisomi  89.15   29/07/2014  
-0.05   0.15
Hisomi  89.18   30/07/2014  
0.030.18
Hisomi  89.21   31/07/2014  SI  
0.030.21
Hisomi  89.24   01/08/2014  
0.030.03
Hisomi  89.27   02/08/2014  
0.030.06
Hisomi  89.303/08/2014  
0.030.09
Hisomi  89.33   04/08/2014  
0.030.12
Hisomi  89  05/08/2014  
-0.33   -0.21
Hisomi  89.106/08/2014  
0.1 -0.11
Hisomi  89.15   07/08/2014  SI  
0.05-0.06
Hisomi  89.15   08/08/2014  
0   0
Hisomi  89.24   09/08/2014  
0.090.09
Hisomi  89.3   

RE: [pgsql-es-ayuda] Ayuda con cosulta

2016-10-04 Por tema Lazaro Garcia
Lo lógica para mi puede ser buscar el cliente que sea el mismo que estas 
intentando crear y buscar su último registro de peso, eso lo haces ordenando la 
fecha desc y limit 1,

Lo mismo para la última consulta lo que en este caso teniendo una clausula 
where para las consultas de ese cliente a true.

Comprendes

-Mensaje original-
De: npola...@cuij.edu.cu [mailto:npola...@cuij.edu.cu] 
Enviado el: martes, 4 de octubre de 2016 1:35
Para: Lazaro Garcia
CC: pgsql-es-ayuda@postgresql.org
Asunto: Re: [pgsql-es-ayuda] Ayuda con cosulta
Importancia: Alta

Si si, es mediante un trigger que he pensado y lo he estado intentando hacer, 
el problema que tengo es la logica en la operación para lograr el resultado, al 
parecer la cabeza no me da, jajaja, por eso es que estoy piediendo ayuda a ver 
si alguien me da un prototipo. Gracias.

- Mensaje original -
De: "Lazaro Garcia" <lazaro3...@gmail.com>
Para: npola...@cuij.edu.cu, pgsql-es-ayuda@postgresql.org
Enviados: Martes, 4 de Octubre 2016 12:26:50
Asunto: RE: [pgsql-es-ayuda] Ayuda con cosulta

Me parece que lo que debes es crear un trigger before insert, sobre esa tabla, 
de forma tal que en la función que lo implemente puedas buscar el ultimo peso 
del paciente y modificar el registro NEW.incrmento_diario en base al cálculo 
realizado.

Esta página te puede ser de ayuda en el tema de los triggers. Saludos.

http://www.postgresql.org.es/node/301


-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de npola...@cuij.edu.cu 
Enviado el: martes, 4 de octubre de 2016 12:55
Para: pgsql-es-ayuda@postgresql.org
Asunto: [pgsql-es-ayuda] Ayuda con cosulta
Importancia: Alta

Hola a todos, quería ver si me podrían ayudar con una consulta que llevo rato 
tratando de hacerla pero no doy pie con bola, no hay modo que logre crearla, si 
alguno me pudiera ayudar. El problema es el siguiente:

Tengo una tabla con datos como estos:

PacientePesoFecha   Consulta
Hisomi  89  24/07/2014  SI
Hisomi  89.125/07/2014  
Hisomi  89  26/07/2014  
Hisomi  89  27/07/2014  
Hisomi  89.228/07/2014  
Hisomi  89.15   29/07/2014  
Hisomi  89.18   30/07/2014  
Hisomi  89.21   31/07/2014  SI
Hisomi  89.24   01/08/2014  
Hisomi  89.27   02/08/2014  
Hisomi  89.303/08/2014  
Hisomi  89.33   04/08/2014  
Hisomi  89.36   05/08/2014  
Hisomi  89.39   06/08/2014  
Hisomi  89.42   07/08/2014  SI
Hisomi  89.45   08/08/2014  
Hisomi  89.48   09/08/2014  
Hisomi  89.51   10/08/2014  
Hisomi  89.54   11/08/2014  
Hisomi  89.57   12/08/2014  


Donde llevo el registro de un paciente dado de su variacion de peso diario y 
quisiera agregar 2 columnas mas que almacene al insertar un registro nuevo en 
una la diferencia de peso de ese con respecto al dia anterior y la otra la 
diferencia de peso entre ese dia y el dia de la consulta anterior, algo asi 
como esto.

PacientePesoFecha Consulta  
Incrmento_diarioIncremento_Consulta
Hisomi  89  24/07/2014  SI  
0   0
Hisomi  89.125/07/2014  
0.1 0.1
Hisomi  89  26/07/2014  
-0.10
Hisomi  89  27/07/2014  
0   0
Hisomi  89.228/07/2014  
0.2 0.2
Hisomi  89.15   29/07/2014  
-0.05   0.15
Hisomi  89.18   30/07/2014  
0.030.18
Hisomi  89.21   31/07/2014  SI  
0.030.21
Hisomi  89.24   01/08/2014  
0.030.03
Hisomi  89.27   02/08/2014  
0.030.06
Hisomi  89.303/08/2014  
0.030.09
Hisomi  89.33   04/08/2014  
0.030.12
Hisomi  89  05/08/2014  
-0.33   -0.21
Hisomi  89.106/08/2014  
0.1  

Re: [pgsql-es-ayuda] Ayuda con cosulta

2016-10-04 Por tema npolanco
Si si, es mediante un trigger que he pensado y lo he estado intentando hacer, 
el problema que tengo es la logica en la operación para lograr el resultado, al 
parecer la cabeza no me da, jajaja, por eso es que estoy piediendo ayuda a ver 
si alguien me da un prototipo. Gracias.

- Mensaje original -
De: "Lazaro Garcia" <lazaro3...@gmail.com>
Para: npola...@cuij.edu.cu, pgsql-es-ayuda@postgresql.org
Enviados: Martes, 4 de Octubre 2016 12:26:50
Asunto: RE: [pgsql-es-ayuda] Ayuda con cosulta

Me parece que lo que debes es crear un trigger before insert, sobre esa tabla, 
de forma tal que en la función que lo implemente puedas buscar el ultimo peso 
del paciente y modificar el registro NEW.incrmento_diario en base al cálculo 
realizado.

Esta página te puede ser de ayuda en el tema de los triggers. Saludos.

http://www.postgresql.org.es/node/301


-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de npola...@cuij.edu.cu
Enviado el: martes, 4 de octubre de 2016 12:55
Para: pgsql-es-ayuda@postgresql.org
Asunto: [pgsql-es-ayuda] Ayuda con cosulta
Importancia: Alta

Hola a todos, quería ver si me podrían ayudar con una consulta que llevo rato 
tratando de hacerla pero no doy pie con bola, no hay modo que logre crearla, si 
alguno me pudiera ayudar. El problema es el siguiente:

Tengo una tabla con datos como estos:

PacientePesoFecha   Consulta
Hisomi  89  24/07/2014  SI
Hisomi  89.125/07/2014  
Hisomi  89  26/07/2014  
Hisomi  89  27/07/2014  
Hisomi  89.228/07/2014  
Hisomi  89.15   29/07/2014  
Hisomi  89.18   30/07/2014  
Hisomi  89.21   31/07/2014  SI
Hisomi  89.24   01/08/2014  
Hisomi  89.27   02/08/2014  
Hisomi  89.303/08/2014  
Hisomi  89.33   04/08/2014  
Hisomi  89.36   05/08/2014  
Hisomi  89.39   06/08/2014  
Hisomi  89.42   07/08/2014  SI
Hisomi  89.45   08/08/2014  
Hisomi  89.48   09/08/2014  
Hisomi  89.51   10/08/2014  
Hisomi  89.54   11/08/2014  
Hisomi  89.57   12/08/2014  


Donde llevo el registro de un paciente dado de su variacion de peso diario y 
quisiera agregar 2 columnas mas que almacene al insertar un registro nuevo en 
una la diferencia de peso de ese con respecto al dia anterior y la otra la 
diferencia de peso entre ese dia y el dia de la consulta anterior, algo asi 
como esto.

PacientePesoFecha Consulta  
Incrmento_diarioIncremento_Consulta
Hisomi  89  24/07/2014  SI  
0   0
Hisomi  89.125/07/2014  
0.1 0.1
Hisomi  89  26/07/2014  
-0.10
Hisomi  89  27/07/2014  
0   0
Hisomi  89.228/07/2014  
0.2 0.2
Hisomi  89.15   29/07/2014  
-0.05   0.15
Hisomi  89.18   30/07/2014  
0.030.18
Hisomi  89.21   31/07/2014  SI  
0.030.21
Hisomi  89.24   01/08/2014  
0.030.03
Hisomi  89.27   02/08/2014  
0.030.06
Hisomi  89.303/08/2014  
0.030.09
Hisomi  89.33   04/08/2014  
0.030.12
Hisomi  89  05/08/2014  
-0.33   -0.21
Hisomi  89.106/08/2014  
0.1 -0.11
Hisomi  89.15   07/08/2014  SI  
0.05-0.06
Hisomi  89.15   08/08/2014  
0   0
Hisomi  89.24   09/08/2014  
0.090.09
Hisomi  89.310/08/2014  
0.060.15
Hisomi  89.311/08/2014  
0   0.15
Hisom

RE: [pgsql-es-ayuda] Ayuda con cosulta

2016-10-04 Por tema Lazaro Garcia
Me parece que lo que debes es crear un trigger before insert, sobre esa tabla, 
de forma tal que en la función que lo implemente puedas buscar el ultimo peso 
del paciente y modificar el registro NEW.incrmento_diario en base al cálculo 
realizado.

Esta página te puede ser de ayuda en el tema de los triggers. Saludos.

http://www.postgresql.org.es/node/301


-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de npola...@cuij.edu.cu
Enviado el: martes, 4 de octubre de 2016 12:55
Para: pgsql-es-ayuda@postgresql.org
Asunto: [pgsql-es-ayuda] Ayuda con cosulta
Importancia: Alta

Hola a todos, quería ver si me podrían ayudar con una consulta que llevo rato 
tratando de hacerla pero no doy pie con bola, no hay modo que logre crearla, si 
alguno me pudiera ayudar. El problema es el siguiente:

Tengo una tabla con datos como estos:

PacientePesoFecha   Consulta
Hisomi  89  24/07/2014  SI
Hisomi  89.125/07/2014  
Hisomi  89  26/07/2014  
Hisomi  89  27/07/2014  
Hisomi  89.228/07/2014  
Hisomi  89.15   29/07/2014  
Hisomi  89.18   30/07/2014  
Hisomi  89.21   31/07/2014  SI
Hisomi  89.24   01/08/2014  
Hisomi  89.27   02/08/2014  
Hisomi  89.303/08/2014  
Hisomi  89.33   04/08/2014  
Hisomi  89.36   05/08/2014  
Hisomi  89.39   06/08/2014  
Hisomi  89.42   07/08/2014  SI
Hisomi  89.45   08/08/2014  
Hisomi  89.48   09/08/2014  
Hisomi  89.51   10/08/2014  
Hisomi  89.54   11/08/2014  
Hisomi  89.57   12/08/2014  


Donde llevo el registro de un paciente dado de su variacion de peso diario y 
quisiera agregar 2 columnas mas que almacene al insertar un registro nuevo en 
una la diferencia de peso de ese con respecto al dia anterior y la otra la 
diferencia de peso entre ese dia y el dia de la consulta anterior, algo asi 
como esto.

PacientePesoFecha Consulta  
Incrmento_diarioIncremento_Consulta
Hisomi  89  24/07/2014  SI  
0   0
Hisomi  89.125/07/2014  
0.1 0.1
Hisomi  89  26/07/2014  
-0.10
Hisomi  89  27/07/2014  
0   0
Hisomi  89.228/07/2014  
0.2 0.2
Hisomi  89.15   29/07/2014  
-0.05   0.15
Hisomi  89.18   30/07/2014  
0.030.18
Hisomi  89.21   31/07/2014  SI  
0.030.21
Hisomi  89.24   01/08/2014  
0.030.03
Hisomi  89.27   02/08/2014  
0.030.06
Hisomi  89.303/08/2014  
0.030.09
Hisomi  89.33   04/08/2014  
0.030.12
Hisomi  89  05/08/2014  
-0.33   -0.21
Hisomi  89.106/08/2014  
0.1 -0.11
Hisomi  89.15   07/08/2014  SI  
0.05-0.06
Hisomi  89.15   08/08/2014  
0   0
Hisomi  89.24   09/08/2014  
0.090.09
Hisomi  89.310/08/2014  
0.060.15
Hisomi  89.311/08/2014  
0   0.15
Hisomi  89.57   12/08/2014  
0.270.42


Los dias de consulta no son cada 7 dias, el intervalo es variado, solo que aquí 
coincide con frecuencia semanal.


Gracias de ante mano. Saludos


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) 
Para cambiar tu suscripci n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n: