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

Sum total+left join

Estas en el tema de Sum total+left join en el foro de Mysql en Foros del Web. Hola, tengo la siguiente consulta: SELECT SUM(cursos.plazas) AS totalplazastodosloscursos FROM cursos LEFT JOIN inscripciones ON inscripciones.refcurso = cursos.Id AND (inscripciones.estado = 'matriculado') WHERE cursos.tipo = ...
  #1 (permalink)  
Antiguo 23/07/2008, 09:36
 
Fecha de Ingreso: julio-2007
Mensajes: 4
Antigüedad: 16 años, 9 meses
Puntos: 0
Sum total+left join

Hola,

tengo la siguiente consulta:

SELECT SUM(cursos.plazas) AS totalplazastodosloscursos FROM cursos
LEFT JOIN inscripciones
ON inscripciones.refcurso = cursos.Id AND (inscripciones.estado = 'matriculado')
WHERE cursos.tipo = 1
GROUP BY cursos.Id
HAVING cursos.plazas > COUNT(inscripciones.Id)

mi problema es que totalplazastodosloscursos me da el número de plazas de sólo 1 curso mientras que lo que necesito es que cuente las plazas de todos los cursos.

Alguien me puede ayudar? Gracias
  #2 (permalink)  
Antiguo 23/07/2008, 09:41
 
Fecha de Ingreso: julio-2007
Mensajes: 4
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Sum total+left join

Es decir las condiciones de la tabla anidada inscripciones (inscripciones.refcurso = cursos.Id AND (inscripciones.estado = 'matriculado') no tendrian que condicionar la suma de plazas de los cursos. En cambio la WHERE y el HAVING si que deberían de condicionar la suma.
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 00:23.