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

Sentencia sql compleja

Estas en el tema de Sentencia sql compleja en el foro de Bases de Datos General en Foros del Web. Hola muy buenas, tengo el siguiente problemilla. Tengo en una tabla un listado de productos con su precio cada uno. La idea es meter yo ...
  #1 (permalink)  
Antiguo 03/10/2008, 09:30
 
Fecha de Ingreso: octubre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Sentencia sql compleja

Hola muy buenas, tengo el siguiente problemilla.

Tengo en una tabla un listado de productos con su precio cada uno.
La idea es meter yo una cantidad y seleccionar productos aleatoriamente hasta que cuadrar el importe en 0. Esta claro que se meteran cantidades que pueden cuadrar siempre.

Sabeis de alguna forma de acerlo?
Yo e pensado haber si habia alguna consulta en mysql de este tipo:

Seleccionar * registros donde la suma del campo precio sea el importe dado.

Me explico?

Ante todo muchas gracias y enorabuena por el foro que a mas de uno nos saca de muchos apuros, saludos.
  #2 (permalink)  
Antiguo 03/10/2008, 23:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Sentencia sql compleja

Creo que eso tendrás que hacerlo con programación. Tendrías que cargar los datos de la base en un array y luego seleccionar los de menor precio que esa cantidad, elegir uno al azar e ir probando su suma con el siguiente cuya cantidad sea inferior al resto (recorriendo el array). Vamos guardando en un acumulador la diferencia hasta dejarlo en el resto más pequeño, que tú quieres que cuadre a cero. Pregunta en el foro de programación del programa que estés usando el mejor modo de hacerlo. Con la base de datos sólo obtendrás los precios inferiores a esa cantidad y, si quieres, traértelos ordenados al azar. Lo demás creo que lo tendrás que hacer con programación.

Última edición por jurena; 04/10/2008 a las 08:15
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 05:35.