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

Ordenar resultados consulta utilizando suma como criterio

Estas en el tema de Ordenar resultados consulta utilizando suma como criterio en el foro de Mysql en Foros del Web. Hola a todos, vengo con una consulta, tengo una tabla en la cual tnego el precio de un producto desglozado en varios subitems. La cuestion ...
  #1 (permalink)  
Antiguo 20/11/2012, 10:19
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 11 meses
Puntos: 0
Ordenar resultados consulta utilizando suma como criterio

Hola a todos, vengo con una consulta, tengo una tabla en la cual tnego el precio de un producto desglozado en varios subitems. La cuestion es que necesito mostrar en pantalla los resultados de una busqueda y en la parte de ordenarlo, tengo varios criterios, uno de ellos deberia ser una suma de estos subitems. Les muestro como deberia ser.

SELECT * FROM tarifas WHERE id = 1 ORDER BY fecha, cantidad, SUM (subitem1 + subitem2 + subitem3)

Se que este codigo no esta correcto pero es para que comprendan lo que les quiero decir. No puedo utilizar variables para sustituir la suma porque los datos los obtengo recien cuando ejecuto la sentencia.

Espero puedan ayudarme!!! muchas graciasss
  #2 (permalink)  
Antiguo 20/11/2012, 10:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ordenar resultados consulta utilizando suma como criterio

Cita:
Se que este codigo no esta correcto pero es para que comprendan lo que les quiero decir. No puedo utilizar variables para sustituir la suma porque los datos los obtengo recien cuando ejecuto la sentencia.
En realidad, si puedes, sólo que no lde la forma que planteas.
Código MySQL:
Ver original
  1. SELECT t.*,  (subitem1 + subitem2 + subitem3) suma
  2. FROM tarifas t
  3. WHERE id = 1
  4. ORDER BY fecha, cantidad, suma
Lo que seguro no puedes usar es SUM() sin utilizar agrupamientos (GROUP BY), y no se pueden usar ni en el WHERE, ni en el ORDER BY.
Además, si lo meditas, no tiene ningún sentido usar una función agrupada en ese contexto.
Si esto no es lo que necesitas, sería mejor que nos expliques qué es lo que se supone que obtienes con esa suma, para ver qué es lo que realmente hay que hacer.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 20/11/2012, 13:03
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Ordenar resultados consulta utilizando suma como criterio

Muchas gracias por la respuesta. Te cuento, es una aplicacion sobre fletes maritimos, entonces en la tabla tengo el valor del flete separado en los diferentes items que lo componen. El tema es asi, tengo una pagina desde la que puedo completar diferentes criterios que van sumandose para lograr la consulta final. Una consulta que ejecuta la aplicacion en este momento es la siguiente:
Código MySQL:
Ver original
  1. FROM tarifaflete
  2. WHERE armadorflete = '$armador'
  3. ORDER BY polflete, podflete, equipoflete, of
El tema es que el ultimo campo con el que ordeno que es of (uno de los componentes del flete total) deberia sumarle otros costos mas que estan en la tabla como ser BAF, ISPS, etc para que cuando me muestra el resultado de la busqueda pueda ver realmente cual es el flete mas bajo ( por flete me refiero a la suma de todos los items que nombre antes). En este momento la consulta asi como la planteo no sirve porque no puedo comparar valores, se entiende?

Por favor si necesitas algun otro dato avisame. Muchisimas gracias por tu interes!

Última edición por gnzsoloyo; 20/11/2012 a las 13:56 Razón: Mal etiquetado
  #4 (permalink)  
Antiguo 21/11/2012, 11:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Ordenar resultados consulta utilizando suma como criterio

@gnzsoloyo podras darme una ayudita mas sobre esto?? Muchas gracias!!

Etiquetas: resultados, select, suma, tabla
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 19:15.