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

Consulta mysql

Estas en el tema de Consulta mysql en el foro de Mysql en Foros del Web. Hola buen dia quisiera ver si alguien pe podria ayudar con lo siguiente en una tabla tengo ademas de otros campos los siguientes: Monto, CodigodelPago, ...
  #1 (permalink)  
Antiguo 08/11/2012, 08:41
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación Consulta mysql

Hola buen dia quisiera ver si alguien pe podria ayudar con lo siguiente en una tabla tengo ademas de otros campos los siguientes:

Monto, CodigodelPago, Alumno y Grupo

en esta cuando un alumno realiza un pago se genera un nuevo registro con el monto el codigo del pago, el codigo del alumno y el grupo del alumno entonces Mi tabla es llenada de la siguiente forma:

Código:
Alumno     Grupo     CodigoPago    Monto 
juan        101         123         100
Pedro       101         555         100
Luis        101         123         100
Pedro       101         123         100
juan        101         555         200
entonces yo quiero obtener como resultado de la consulta por Grupo esto:

Código:
Alumno   Grupo   Pagado 
juan      101     300
Pedro     101     200
Luis      101     100
Ojala me puedan ayudar
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #2 (permalink)  
Antiguo 08/11/2012, 09:12
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Consulta mysql

SELECT Alumno, Grupo, SUM(Monto) Pagado
FROM tabla_nombre
GROUP BY Alumno, Grupo
ORDER BY Pagado DESC
  #3 (permalink)  
Antiguo 08/11/2012, 09:24
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Consulta mysql

rolygc Me podrias explicar un poco como la consulta ?? Gracias
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #4 (permalink)  
Antiguo 08/11/2012, 09: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, 4 meses
Puntos: 2658
Respuesta: Consulta mysql

¿Realmente necesitas que te expliquen una consulta tan elemental?
Es solo una suma agrupada por alumno... Igual que cuando haces sumas en la escuela primaria...
Pepe tiene 1+2+5, Daniel tiene 3+7+1...
No es mas que la forma en que el SQL lo hace, o si lo querés informático, es lo mismo que también hace Excel.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 08/11/2012, 09:33
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Consulta mysql

Claro que si

1- SELECT Alumno, Grupo, SUM(Monto) Pagado

Seleccionas la columna Alumno, la columna Grupo y realizas una suma de la columna Monto y le asignas el nombre de Pagado a ese resultado te quedara hasta ahora el resultado. Tal como pusistes en tu ejemplo que la querías

Alumno | Grupo | Pagado

2- FROM tabla_nombre
le dices de qué tablas sacaras estos datos, debes cambiar el tabla_nombre por el nombre que le diste a la tabla donde tienes guardado los datos

3- GROUP BY Alumno, Grupo

le dices que quieres agrupar los resultados por alumnos y grupo, o sea, que te sume los montos de todos los alumnos que se llamen igual y que pertenezcan al mismo grupo. no tendras que establecer la columna monto porque utiliza una funcion de grupo como SUM y solo tienes que especificar en el group by todo las columnas que pusistes en el SELECT que no sean funciones de grupo.

4- ORDER BY Pagado DESC
ordenar por la columna Pagado que es el resultado de la suma de la columna Monto agrupa por el mismo nombre de cada alumno de forma descendiente, para que te muestre los datos del alumno que ha pagado mas y asi en orden descedente

espero te ayude, buena suerte

Última edición por gnzsoloyo; 08/11/2012 a las 10:29 Razón: Espanto de uso de la "k" :(. Por favor...
  #6 (permalink)  
Antiguo 08/11/2012, 09:39
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Consulta mysql

Muchas Gracias
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #7 (permalink)  
Antiguo 09/11/2012, 14:15
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación Respuesta: Consulta mysql

Hola de nuevo bien tengo otro problemita mira ahora tengo dos tablas de donde quiero hacer una consulta y por mas que busco no lo logro hacer ojala me puedas ayudar

Tengo las tablas:

Pagos y PagosPendientes y en una sola consulta quiero que me en liste lo siguiente.

los campos idAlumno, Pagado de la tabla Pagos y el campo Restante de la tabla PagosPendientes

cabe mencionar que la tabla Pagos y Pagos Pendientes tienen un campo llamado idAlumno

he intentado haciendo esto pero me suma el total de de todos los registros y no me los suma por individual

Código:
select Pagos.idAlumno, Pagos.NombreAlumno, sum(Pagado)Pago, sum(PagosPendientes.Restante)Res from Pagos, PagosPendientes group by idAlumno, Grupo
ojala me puedas ayudar
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse

Última edición por carlosloaiza21; 09/11/2012 a las 14:18 Razón: Agregar informacion
  #8 (permalink)  
Antiguo 09/11/2012, 16:40
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Consulta mysql

Código:
SELECT 
        -- "los campos idAlumno, Pagado de la tabla Pagos"
    P.idAlumno, 
    P.NombreAlumno, 
    P.Pagado, 
        -- "y el campo Restante de la tabla PagosPendientes"
    PP.Restante 
FROM
        -- "Tengo las tablas: Pagos y PagosPendientes"
    Pagos P, 
    INNER JOIN PagosPendientes PP 
        -- "la tabla Pagos y Pagos Pendientes tienen un campo llamado idAlumno"
        ON P.idAlumno = PP.idAlumno
Aquí tienes con tus misma explicaciones para que lo veas mejor

Última edición por gnzsoloyo; 09/11/2012 a las 18:02 Razón: demasiadas ke, ki...
  #9 (permalink)  
Antiguo 09/11/2012, 18:16
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Consulta mysql

Muchas Gracias Saludos
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse

Etiquetas: tabla, campos
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 08:37.