Comparar mismo campo de dos registros distintos

Todo lo relacionado a DB2 y otras bases de datos bajo z/OS o VSE o z/VM
Responder
Alpuce

Comparar mismo campo de dos registros distintos

Mensaje por Alpuce » 14 Sep 2018, 14:49

Hola, necesito realizar una query en db2/host que compare el valor de un campo de la tabla con el valor del mismo campo de la tabla en otro registro.

Si la tabla es algo así:
Contrato| Oper| Importe
00002158| A234| -10.00
00002158| A217| 120.00
00002158| A173| 100.00

Busco encontrar aquellos registros donde, para el mismo contrato, el importe de la operación A217 es mayor que el importe de la operación A173.

Gracias y un saludo

f_caballero

Re: Comparar mismo campo de dos registros distintos

Mensaje por f_caballero » 23 Sep 2018, 12:32

Hola, puedes probar este join.
Según las especificaciones que proporcionas.
Es probable que haya otros formatos de query "más modernos" y de mejor rendimiento, pero básicamente sería esto.

SELECT A.CONTRATO, A.OPER, A,IMPORTE, B,OPER, B.IMPORTE
FROM TABLA A, TABLA B
WHERE A.OPER = 'A217'
AND B.CONTRATO = A.CONTRATO
AND B.OPER = 'A173'
AND B.IMPORTE < A.IMPORTE

Suerte

Responder