SQL - Reto SQL ---- Match de Montos

 
Vista:

Reto SQL ---- Match de Montos

Publicado por Rolando (28 intervenciones) el 26/08/2010 00:33:11
Buenas tardes Estimados Colegas.

Les tengo un reto de programacion SQL,sacar una rutina de solucion:

Reto:
Se necesita hacer un analisis de comprobacion entre 2 tablas , cada tabla con una lista de montos.

LISTA 1 LISTA2
-------------- --------------------
250 500
30 100
250 80
20 60
50
20
10
10

Ahora se necesita la comprobacion:

250 500 match OK
250

20 60 match OK
20
10
10

50 80 match OK
30

LISTA 1 LISTA 2
--------------- -----------------
Match OK 100 <------------ Monto por verificar.

y asi tambien cuando todos los montos de la lista 2 esten comprobados debe decir match ok , y listarse los montos "sueltos" de la liata 1

Por mi parte tratare de sacar la rutina y la colgare , espero tener tambien algunas soluciones de parte de uds.

OJO : La rutina debe ser lo mas optimizada posible.

saludos

Rolando
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:Reto SQL ---- Match de Montos

Publicado por Leonardo Josué (1173 intervenciones) el 26/08/2010 17:06:20
Buenos días Rolando, Lo que pretendes es por demás complicado, las combinaciones pueden ser muchísimas, por ejemplo para hacer el match con 80 utilizas 50 y 30, pero también podrías haber utilizado (50, 20, 10) o (30, 20, 20, 10)
Lo mismo sucede para hacer el match con 60, tú propones 20,20,10,10, pero también podrías haber utilizado 50, 10. En el caso del 100 dices que falta por comprobar, pero pudiste haber hecho match con (50,30,20) o con (50,20,20,10) o con (50,30,10,10)

Si alguna vez escuchaste hablar de problemas NP completos pues este se trata de uno de ellos. Mientras más cantidad de elementos tengas en ambas tablas el número de soluciones al problema crece de manera exponencial. y encontrar la solución óptima te puede llevar muchísimo tiempo.

Revisa tu lógica de negocio para ver si puedes establecer algún criterio para dar prioridad a las comprobaciones. pues de lo contrario creo que no encontrarás una solución.

Y te deseo suerte con esto, porque la vas a necesitar

Saludos.
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reto SQL ---- Match de Montos

Publicado por Rolando (28 intervenciones) el 26/08/2010 23:22:48
Estimado Leo ,
El caso esta en que puedo aminorar la cantidad de datos con filtros , que hagan menor la carga del comparativo, pero necesariamente tengo que comparar montos de esa manera , con analisis combinatorio y como dices las posibilidades de solucion son amplias.
El problema esta que el usuario es quien realiza esta comprobacion de montos , ya te imaginaras para que modulo de sistema se necesita :

CONCILIACION BANCARIA

y esto se complica aun mas :

Montos de transac. POS (del punto de venta) <<<<VS>>>>> Montos Contables agrupudos y esto asu vez VS , Informe bancario.

Tengo 3 tablas y tengo conciliar , cuando no se guardan campos en comun para asociar y es mas , se aplican modificaciones a los montos , como las comisiones y etc.

Es por eso que me urge una rutina para la conciliacion , que se optimizada y que el usuario no se quede colgado con la pantalla.

He investigado y ya hay lo han hecho otros.

http://www.conciliacionexpress.com/

En esta pagina ya lo hacen....

Necesito "Robar" su rutina ...jaja

Si pues estimado colega, por eso es un reto , si lo consigo hacer (que lo tengo que lograr) , colgare la solucion.

Saludos.

Rolando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar