Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   misma consulta, distintas tablas, sumas y demás (http://www.forosdelweb.com/f86/misma-consulta-distintas-tablas-sumas-demas-472967/)

arielcasanova 14/03/2007 15:51

misma consulta, distintas tablas, sumas y demás
 
Hola Gente. Tengo un inconveniente. Seguramente la respuesta esté, cifrada, dentro de este foro, pero no sé muy bien cómo plantear lógicamente todo el problema.
Tengo una tabla COMPRAS, con los siguientes campos:
id - id_tarjeta - importe - puntaje - origen - fecha - factura
Y otra, usuarios, con los siguientes:
id - id_tarjeta - nombre - apellido - teléfono - etc.

Necesito una consulta que haga un select distintc id_terjeta from COMPRAS where origen = "nombredelnegocio", que sume el total de los importes con el mismo id_tarjeta, así como el total de los puntos con el mismo id_tarjeta, y que diga que Fulanito (o sea, ".$row[nombre].") ha gastado x cantidad de dinero, y ha obtenido x cantidad de puntos en ese negocio.

¿Cómo hago? Intenté lo siguiente, pero no funciona:
SELECT distinct compras.id_tarjeta FROM compras INNER JOIN usuarios ON compras.id_tarjeta = usuarios.id_tarjeta where compras.origen="comercio",
pero claro, esto sólo me arroja los distintos id_tarjetas... además no tengo ni idea de cómo realizar la suma de los puntos e importes...

espero ayuda!!!!

gracias,

arielcasanova 21/03/2007 15:20

Me auto respondo
 
Bueno, no pude solucionarlo al 100%, pero posteo mi solución por si alguien busca algo parecido y esto le puede servir.
Utilicé la función sum, con group by:

select id_tarjeta, sum(importe), sum(puntaje) from compras where origen='comercio' group by id_tarjeta

Y suprimi los campos nombre, apellido, etc. Dejé un enlace hecho al numero de tarjeta para que cuando hagan click, en otra pantalla, aparezcan los datos completos del dueño de la tarjeta.

slds.
!

Edypu 22/03/2007 08:52

Re: misma consulta, distintas tablas, sumas y demás
 
Hola arielcasanova

prueba esto

SELECT sum( compras.importe )
FROM compras, usuarios
WHERE compras.id_tarjeta = usuarios.id_tarjeta AND compras.origen
LIKE 'comercio' AND compras.id_tarjeta = 1

cambias comercio por el nombre de origen
1 por el id_tarjeta

un saludo.


La zona horaria es GMT -6. Ahora son las 08:42.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.