
09/09/2006, 14:15
|
| | Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 18 años, 7 meses Puntos: 0 | |
Bueno, no sé si entiendo bien tu problema. Si lo he hecho creo que primero estás asumiendo que lo que identifica una visita es el usuario junto a la fecha, por lo que entiendo que no se pueden dar dos visitas distintas del mismo usuario un mismo día. Si no es así entonces necesitas un nuevo campo en la tabla de montos llamado IdVisita y eliminar los campos user y fechavisita que ya tienes en la tabla de visitas.
Por otra parte, pretendes que en resultado se muestren un número indefinido de pares fecha, suma(montos). Si no estoy muy pez, eso con un simple select no lo vas a conseguir tal y como has indicado. Pero sí que puedes obtener grupos por usuario y fecha (o sea visitas) y en lugar de salir los pares uno al lado del otro saldrían en filas repitiendo el user. Esto lo puedes sacar así:
SELECT user, sum(monto), fechavisita FROM montos GROUP BY user, fechavisita ORDER BY user
que te daría resultados parecidos a
User Suma de montos Visita (Fecha)
=============================
usr1 200 2006/08/10
usr1 420 2006/08/12
usr1 112 2006/08/28
usr2 204 2006/08/10
usr2 310 2006/08/12
usr3 230 2006/08/12
usr3 392 2006/09/02
Luego lo que dices de acotar fechas lo puedes conseguir agregando la cláusula where a la consulta. Sólo que no acabo de entender por qué la primera debe ser la fechavisita, puesto que nunca se dará el caso de que una fecha de la tabla montos (para un mismo usuario) sea inferior a la fecha de la primera visita del usuario (no sé si me explico). Quizás no te haya entendido bien. Si es así, vuelve a preguntar. |