Pregunta:
Existe una formula que haga esto?
Ann
2008-06-20 11:14:48 UTC
suponiendo que tengo a juanita y jose, ambos compraron 2 productos en distintas ocasiones:

Tabla ventas

cliente ! cantidad ! valor
juanita ! 1 manzana ! 50 pesos
jose ! 2 manzanas ! 100 pesos
jose ! 3 piñas ! 4500 pesos
juanita ! 2 peras ! 120 pesos

necesito algo asi
a = select max(sum(valor) group by cliente

para saber cual de los dos gastó mas dinero.


realizando la consulta desde vb o desde sql

si alguien me da la respuesta le doy el maximo de los puntos!
Ocho respuestas:
wario71
2008-06-20 11:27:11 UTC
Mysql permite crear funciones para hacer comparaciones como la que necesitas, sin embargo nunca las he usado y no conozco su sintaxis.



Con SQL puro no se puede hacer, porque el lenguaje SQL no eta hecho para eso, asi que mejor busca como crear funciones para MYSQL asi podras sacarlo.



La otra forma es (y la más logica y que yo usaria) es que solo obtengas los dos resultados, asi como lo tienes tu



primero el de juanita y luego el de jose,



Y luego ya en VB comparas y sacas quien es el que gasto más, esa seria la solución logica.
Developer
2008-06-21 08:53:19 UTC
claro que es posible, en vb usa una conexion a la base de datos y para pa conexion establece una cadena SQL para generar los resultados que vas a mostrar, bueno el codigo es algo extenso, tal ves podria ayudarte contactame
carlos g
2008-06-20 14:11:42 UTC
SELECT * FROM `ventas` WHERE cliente = 'jose'



$josetotal = sumas los pesos; (por ejemplo creas otra columna llamada suma y ahí pones la suma de jose).



SELECT * FROM `ventas` WHERE cliente = 'juanita'



$juanitatotal = sumas los pesos;



if($josetotal > $juanitatotal) {

echo"Jose pago mas";

}

elseif($josetotal < $juanitatotal) {

echo"Juanita pago mas";

}

else {

echo"Ambos pagaron lo mismo";

}
Sergestux
2008-06-20 13:20:25 UTC
Pues depende del servidor de base de datos que tenga, pero en postgresql, la instruccion seria asi:



SELECT nombre, SUM(importe) as total

FROM ventas GROUP BY nombre

ORDER BY total DESC LIMIT 1
John Doe
2008-06-20 12:28:46 UTC
Quizá algo así:



select cliente

from ventas

group by clientes

having sum(valor) >= ALL (select sum(valor) from ventas group by cliente)
Miguel
2008-06-20 11:22:03 UTC
tu crealo no busks para k alguien lo tenga

lelo!!!
anonymous
2008-06-20 11:21:01 UTC
si tu no sabEs menos alguien de Aki =P



suerte



saludos de Ensenada BC Mex.
anonymous
2008-06-20 11:19:01 UTC
Tío, esto es un lío.


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...