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

Ayuda con consulta a mysql

Estas en el tema de Ayuda con consulta a mysql en el foro de Bases de Datos General en Foros del Web. hola foreros. la verdad es que soy medio bruto en esto de las consultas, me dedico mas a la maquetacion y bueno, tengo que hacer ...
  #1 (permalink)  
Antiguo 20/04/2010, 08:12
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 5 meses
Puntos: 145
Ayuda con consulta a mysql

hola foreros.

la verdad es que soy medio bruto en esto de las consultas, me dedico mas a la maquetacion y bueno, tengo que hacer una consulta especial para una web.

resulta que tengo dos tablas, una donde se guardan los datos del alumno y otra tabla donde se guarda la universidad donde estudia.

y tengo que hacer una consulta donde agrupe todas las universidades por pais, el problema es que el campo de pais esta en la tabla alumno.

me hablaron algo de join, inner join, pero la verdad no entiendo mucho.

alguien podria orientarme como hacer la consulta?

tengo esta consulta, donde el campo estado es solo para marcar un estado habilitado o deshabilitado.

select universidad_escuela, count(*) as cantidad from carrera where estado='1' group by universidad_escuela

pero como digo tengo q enlazarla con la tabla alumnos para obtener las universidades por pais.

saludos y gracias de ante mano.
__________________
http://chicho.ninja yiaaaa
  #2 (permalink)  
Antiguo 20/04/2010, 08:47
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda con consulta a mysql

Podrías poner la estructura de las tablas alumnos y carrera?

Con esto te podemos ayudar.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 20/04/2010, 08:47
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, 5 meses
Puntos: 2658
Respuesta: Ayuda con consulta a mysql

La consulta es fácil de hacer, pero necesitamos los nombres de los campos de ambas tablas para saber con cuál hacer el INNER JOIN.
La idea es algo así:
Código MySQL:
Ver original
  1. SELECT universidad_escuela, count(*) cantidad
  2. FROM carrera C INNER JOIN alumno A ON  C.carrera_id = A.carrera_id
  3. WHERE estado='1'
  4. GROUP BY universidad_escuela, pais_id;
El tema pasa porque para que funcione la consulta debe haber al menos un campo como PK de la carrera que sea común a ambas tablas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 20/04/2010, 09:01
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 5 meses
Puntos: 145
Respuesta: Ayuda con consulta a mysql

se me esta complicando jajajaja, aqui va la estructura de las tablas

Código:
alumnos
id_alumno
cod_alumno
nombres
apellidos
dni
pais
estado

Código:
carrera
id_carrera
cod_alumno
universidad_escuela
estado
Lo que necesito concretamente son dos consultas.

1.-listar todas las universidades no importando el pais y debo mostrar por pantalla 4 campos (id_carrera, universidad_escuela, pais y cantidad de alumnos por universidad)

2.- es lo mismo que la anterior pero debo mostrar solo la de un pais en concreto, por ejemplo las de chile.


saludos
__________________
http://chicho.ninja yiaaaa
  #5 (permalink)  
Antiguo 20/04/2010, 09:20
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, 5 meses
Puntos: 2658
Respuesta: Ayuda con consulta a mysql

Suponiendo que el campo `pais`es un VARCHAR que contiene el nombre:

Caso 1:
Código MySQL:
Ver original
  1. SELECT C.id_carrera, universidad_escuela, A.pais, count(*) `Total Alumnos`
  2. FROM carrera C INNER JOIN alumno A USING(cod_alumno)
  3. GROUP BY universidad_escuela;

Caso 2:
Código MySQL:
Ver original
  1. SELECT C.id_carrera, universidad_escuela, count(*) `Total Alumnos`
  2. FROM carrera C INNER JOIN alumno A USING(cod_alumno)
  3. WHERE A.pais = 'CHILE'
  4. GROUP BY universidad_escuela;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 20/04/2010, 09:50
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 5 meses
Puntos: 145
Respuesta: Ayuda con consulta a mysql

GRACIAS MUCHACHOS, PROBLEMA RESUELTO, ME QUEDO GUSTANDO ESTO, VOY A ESTUDIAR MAS EL TEMA.

SALUDOS. UN ABRAZO


las mayusculas eran por la emocion :D
__________________
http://chicho.ninja yiaaaa

Etiquetas: mysql
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 23:51.