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

Como realizar la consula SQL

Estas en el tema de Como realizar la consula SQL en el foro de Mysql en Foros del Web. Hola, tengo una base de datos (phpmyadmin) con determinadas tablas. Pues bien me interesa hacer una consulta que a su vez necesita de otra consulta, ...
  #1 (permalink)  
Antiguo 08/07/2011, 13:24
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Como realizar la consula SQL

Hola, tengo una base de datos (phpmyadmin) con determinadas tablas. Pues bien me interesa hacer una consulta que a su vez necesita de otra consulta, es decir, un select sobre select.

Les explico como está estructurada las dos tablas (pondré solo los campos necesarios)

Tengo una tabla (alumnos) con alumno con los siguientes campos:

- centroid: El identificador del centro al que pertenece el alumno (está en otra tabla).
- fecha_alta: indica la fecha en la que el alumno se le dio de alta en el sistema.

La otra tabla (centros) tiene todos los centros.

- id: El identificador del centro (el mismo que tiene un alumno).
- municipio: indica el municipio al que pertenece el centro.

Pues bien, lo que me gustaría es obtener para el año 2010. Cuantos alumnos se dieron de alta en el sistema por cada uno de los municipios. Ejemplo:

Municipio1 19
Municipio2 23
Municipio3 34

donde cada número indica la cantidad de alumnos que tiene el municipio.

Cualquier duda que tengan o aclaración que necesiten no duden en preguntar.
  #2 (permalink)  
Antiguo 08/07/2011, 14:27
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Como realizar la consula SQL

Muy sencillo:

Código MySQL:
Ver original
  1. SELECT centros.municipio, COUNT(centros.id) as total
  2. FROM alumnos INNER JOIN centros ON alumnos.centroid = centros.id
  3. GROUP BY centros.municipio
  #3 (permalink)  
Antiguo 10/07/2011, 14:52
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Como realizar la consula SQL

Hola alexg88, muchas gracias por la respuesta y perdón por mi tardanza por responder pero no he podido conectarme.

Funciona pero no funciona del todo, porque así me coge todo los registros de todos los años y sólo quiero los dado del alta en el año 2010. Habría que hacer algún
WHERE alumnos.fecha_alta >= 2010-01-01 AND alumnos.fecha_alta < 2011-01-01
pero no sé hacerlo funcionar del todo.
  #4 (permalink)  
Antiguo 10/07/2011, 14:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como realizar la consula SQL

Código MySQL:
Ver original
  1. SELECT C.municipio, COUNT(*) TotalAlumnos
  2. FROM centros C LEFT JOIN alumnos A ON C.id = A.centroid
  3. WHERE alumnos.fecha_alta BETWEEN '2010-01-01' AND '2010-12-31'
  4. GROUP BY C.municipio
__________________
¿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 10/07/2011, 15:39
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Como realizar la consula SQL

Muchas gracias gnzsoloyo, ahora si que sí que funciona perfectamente. Doy por cerrado el tema.

Etiquetas: campos, consula, php, realizar, select, sql, 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 03:16.