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

[SOLUCIONADO] Consulta complicada

Estas en el tema de Consulta complicada en el foro de Mysql en Foros del Web. Hola colegas necesito ver si me pueden apoyar con esto. Tengo un sistema de calificaciones con la siguiente consulta. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original ...
  #1 (permalink)  
Antiguo 19/02/2017, 09:17
 
Fecha de Ingreso: julio-2011
Mensajes: 88
Antigüedad: 12 años, 9 meses
Puntos: 2
Consulta complicada

Hola colegas necesito ver si me pueden apoyar con esto. Tengo un sistema de calificaciones con la siguiente consulta.

Código SQL:
Ver original
  1. SELECT materias.materia,cali.proy,cali.totalactividad,cali.totalasis,cali.totalparcial
  2. FROM materias
  3.  
  4. LEFT OUTER JOIN(SELECT *
  5. FROM calificaciones
  6. WHERE calificaciones.parcial=1
  7. AND calificaciones.cicloescolar_id=1
  8. AND calificaciones.semestres_has_secciones_id=14
  9. AND calificaciones.alumnos_id=10
  10. ) cali
  11. ON materias.id = cali.materias_id
  12. WHERE materias.semestre_id=2

esto me arroja lo siguiente resultado:

Matematicas 10
Español 8
Fisica 5

y lo que necesito es que me arroje lo siguiente:

Matematicas 10
Español 8
Fisica R

como hago para mostrar en cierta materia una letra si el resultado es menor o igual a 5 pero solo en una materia en especifico.

Gracias.

Última edición por gnzsoloyo; 19/02/2017 a las 19:38
  #2 (permalink)  
Antiguo 19/02/2017, 10:29
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta complicada

con un case en tu ultimo select :) algo como esto:

Código MySQL:
Ver original
  1. SELECT materias.materia,
  2.   when materia='Fisica' and calificacion<=5 then 'R' else calificacion end as calificacion
  3. FROM materias
  4.  
  5. FROM calificaciones
  6. WHERE calificaciones.parcial=1
  7. AND calificaciones.cicloescolar_id=1
  8. AND calificaciones.semestres_has_secciones_id=14
  9. AND calificaciones.alumnos_id=10
  10. ) cali
  11. ON materias.id = cali.materias_id
  12. WHERE materias.semestre_id=2
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 19/02/2017, 12:16
 
Fecha de Ingreso: julio-2011
Mensajes: 88
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Consulta complicada

Gracias ya funciono perfectamente pero ahora tengo una nueva pregunta a ver si es posible.

en la parte de CASE WHEN materia = 'fisica'.

puedo utilizar un LIKE

ya que la materia cambia según el semestre para primero es física I y para segundo es física II etc.

Gracias.
  #4 (permalink)  
Antiguo 19/02/2017, 12:19
 
Fecha de Ingreso: julio-2011
Mensajes: 88
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Consulta complicada

ya quedo Libras lo único que tenia que hacer es quitar el = y solo dejar LIKE. Gracias colega muy amable.

Etiquetas: select
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 06:11.