none
Consulta SQL RRS feed

  • Pregunta

  • Amigos expertos del foro quisiera que me apoyen con este query:

    Tengo esta consulta que me facilitaron en este mismo foro;

    SELECT Nombre, Edad, Curso, (Nota1 + Nota2 + Nota3) /3 AS Promedio FROM TBAlumnos;

    Esto devuelve el promedio de 3 notas de una BD, la pregunta es: Existe una forma de como devolver si es mayor o igual a 13? es decir;

    SELECT Nombre, Edad, Curso, (Nota1 + Nota2 + Nota3) /3 AS Promedio FROM TBAlumnos WHERE Promedio>= 13;

    no se algo asi, la verdad recien estyo aprediendo SQL y no se como.

    Pdt.

    La columna promedio no existe en la BD

    Gracias.


    Juan Fernando

    • Cambiado Enrique M. Montejo sábado, 19 de noviembre de 2016 7:39 Pregunta relacionada con sintaxis de consulta SQL de selección.
    sábado, 19 de noviembre de 2016 2:21

Respuestas

  • Hola Juan_fernando,

    Podrías hacer algo como :

    SELECT
    	Nombre,
    	Promedio = (Nota1 + Nota2 + Nota3) /3
    FROM TBAlumnos 
    WHERE ((Nota1 + Nota2 + Nota3) /3) >= 13;

    O si no quieres repetir la sumatoria y el promedio, podrías intentar con algo así :

    WITH T AS
    (
     	SELECT
    		Nombre,
    		Promedio = (Nota1 + Nota2 + Nota3)/3
    	FROM TBAlumnos
    )
    SELECT * FROM T
    WHERE Promedio >= 13;

    Obvio, solo agregas tus demás campos.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Juan_fernando sábado, 19 de noviembre de 2016 4:27
    sábado, 19 de noviembre de 2016 2:52

Todas las respuestas

  • Hola Juan_fernando,

    Podrías hacer algo como :

    SELECT
    	Nombre,
    	Promedio = (Nota1 + Nota2 + Nota3) /3
    FROM TBAlumnos 
    WHERE ((Nota1 + Nota2 + Nota3) /3) >= 13;

    O si no quieres repetir la sumatoria y el promedio, podrías intentar con algo así :

    WITH T AS
    (
     	SELECT
    		Nombre,
    		Promedio = (Nota1 + Nota2 + Nota3)/3
    	FROM TBAlumnos
    )
    SELECT * FROM T
    WHERE Promedio >= 13;

    Obvio, solo agregas tus demás campos.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Juan_fernando sábado, 19 de noviembre de 2016 4:27
    sábado, 19 de noviembre de 2016 2:52
  • Hola Juan_fernando,

    Podrías hacer algo como :

    SELECT
    	Nombre,
    	Promedio = (Nota1 + Nota2 + Nota3) /3
    FROM TBAlumnos 
    WHERE ((Nota1 + Nota2 + Nota3) /3) >= 13;

    O si no quieres repetir la sumatoria y el promedio, podrías intentar con algo así :

    WITH T AS
    (
     	SELECT
    		Nombre,
    		Promedio = (Nota1 + Nota2 + Nota3)/3
    	FROM TBAlumnos
    )
    SELECT * FROM T
    WHERE Promedio >= 13;

    Obvio, solo agregas tus demás campos.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    Wow!! solucionado muchas graciass, cierro la consulta.


    Juan Fernando

    sábado, 19 de noviembre de 2016 4:27