sql BIT / IAM-1758 - sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno - Se adiciona JOIN c
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql BIT / IAM-1758 - sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno - Se adiciona JOIN c相关的知识,希望对你有一定的参考价值。
----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno', 'P') IS NOT NULL
DROP PROC sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno
GO
CREATE PROCEDURE [dbo].[sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno]
--@Variables INT
@sMatricula VARCHAR(50) ,
@idAlumno INT ,
@iFolioInsc BIGINT ,
@iFolioPeriodo BIGINT ,
@idOfEduc SMALLINT ,
@idPlanEstudios SMALLINT,
@sEvaluacion VARCHAR(50)
/* --------------------------------------------------------------------------------------------------------------
FECHA | AUTOR | DESCRIPCION
16/Jun/2017 | Luis Bernal | BIT/IAM-1758 - Se adiciona JOIN contra Ctrl_LimiteCapturaCal para delimitar mostrar las calificaciones con respecto a su fecha de publicación configurada
--------------------------------------------------------------------------------------------------------------*/
AS
BEGIN
SET NOCOUNT ON;
SET LANGUAGE spanish;
SET DATEFORMAT MDY;
--CONTENIDO PROCEDIMIENTO
--ESTE PROCEDIMIENTO LISTA CALIFICACIONES DE ASIGNATURAS DE RUBRICAS Y DE SUBRUBRICAS
IF @sEvaluacion='' AND @iFolioPeriodo=-1 AND @idOfEduc=-1 AND @idPlanEstudios=-1
BEGIN
DECLARE @sEvaluacionMostrar VARCHAR(50)
DECLARE @iOrden SMALLINT
DECLARE @diaHoy DATETIME=GETDATE()
SELECT DISTINCT TOP 1
@sEvaluacionMostrar= TR.sEvaluacion, @iOrden=TR.iOrdenEval
FROM ( SELECT cp2.sNombre AS sPlantel ,
cpe2.sNombre AS sPlanEst ,
coe.sNombre AS sOfEduc ,
cpe2.sVersion AS sVersionPlanEst ,
cp.sNombreOficial AS sPerioco ,
cp.sAbPeriodo ,
cp.iAnioInicial ,
cp.iMesInicial ,
cp.iCicloEscolar ,
cp.iMesFinal ,
cp.iAnioFinal ,
ca2.sAsignatura ,
cpe.iOrden AS iOrdenAsig ,
ISNULL(cca.iOrden, 0) AS iOrdenClasifAsig ,
cfe2.sAbreviatura AS sAbEval ,
ctad.dCalificacion ,
dbo.fnObtenerCalificacionFinalRedondeo(cta.iFolio,
cfe2.idEvaluacion) AS sCalificacionR ,
dbo.fnObtenerCalificacionFinalRedondeoNumerico(cta.iFolio,
cfe2.idEvaluacion) AS dCalificacionR ,
ctad.idEstatus ,
cee.sAbreviatura ,
ctad.dFechaReg ,
ctad.iTipoRegistroCalif ,
CASE ctad.iTipoRegistroCalif
WHEN 1
THEN 'FALTAS SON IGUAL O MAYOR A LAS PERMITIDAS PARA LA EVALUACION'
WHEN 2
THEN 'FALTAS SUPERAN LAS FALTAS PERMITIDAS Y SE ASIGNA LA CALIFICACION MINIMA'
WHEN 3
THEN 'EL RESULTADO DE LA VALIDACION FUE ASIGNADO'
WHEN 4
THEN 'SE ASIGNA CALIFICACION MAXIMA POR QUE EXCENTA'
WHEN 5
THEN 'EL RESULTADO DE LA FORMULA ES ASIGNADO'
WHEN 6 THEN 'ESTATUS REGISTRADO POR PROFESOR'
WHEN 7
THEN 'NO SE ENCONTRO EL ESTATUS REGISTRADO'
WHEN 8
THEN 'CALIFICACION REGISTRADA POR PROFESOR'
WHEN 9
THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MENOR A LA MINIMA CAPTURABLE SE ASIGNA LA CALIFICACION MINIMA'
WHEN 10
THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MAYOR A LA MAXIMA REGISTRABLE'
WHEN 11
THEN 'NO SE PUDO GENERAR LA FORMULA O PROMEDIO'
WHEN 12
THEN 'RESULTADO DE LA FÓRMULA ES MENOS A LA MÍNIMA CAPTURARLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
WHEN 13
THEN 'RESULTADO DE LA VALIDACIÓN ES MENOS A LA MÍNIMA CAPTURABLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
END AS sResultado ,
cta.iFolio AS iFolioTrayectoria ,
ISNULL(ctad.idEvaluacion, cfe2.idEvaluacion) AS idEvaluacion ,
ctad.idUsuario ,
ctad.sObservaciones ,
ctad.bHistorica ,
CAST(cg.iGrado AS VARCHAR(2)) + '° ' + cg.sNombre AS sGrupo ,
ca.idAlumno ,
ca2.idAsignatura ,
ci.iFolioPeriodo ,
ci.idOfEduc ,
cpe.idPlanEstudios ,
cg.idGrupo ,
ISNULL(cfe.sNombre, cfe2.sNombre) AS sEvaluacion ,
cgct.iFolio AS iFolioGrupoClases ,
ISNULL(cfe.iOrden, cfe2.iOrden) AS iOrdenEval ,
fsoeracc.idAspecto ,
fsoeracc.idCategoria ,
ISNULL(fsoeracc.sCategoria,'') AS sCategoria ,
fsoeracc.sIcono ,
fsoeracc.sColor ,
fsoeracc.sPorcentaje ,
fsoeracc.bSubRubrica
FROM dbo.Ctrl_TrayectoriaAcademica AS cta
INNER JOIN dbo.Ctrl_Inscripciones AS ci ON ci.iFolio = cta.iFolioInscripcion
INNER JOIN dbo.Cat_Alumnos AS ca ON ca.idAlumno = ci.idAlumno
INNER JOIN dbo.Ctrl_Periodos AS cp ON cp.iFolio = ci.iFolioPeriodo
INNER JOIN dbo.Cat_Asignaturas AS ca2 ON ca2.idAsignatura = cta.idAsignatura
LEFT JOIN dbo.Ctrl_PlanEstudios AS cpe ON cpe.idAsignatura = cta.idAsignatura
AND cpe.idPlanEstudios = cta.idPlanEstudios
INNER JOIN dbo.Cat_PlanEstudios AS cpe2 ON cpe2.idPlanEstudios = cpe.idPlanEstudios
INNER JOIN dbo.Ctrl_FormEvaluacion AS cfe2 ON cfe2.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion,
cpe2.idFormEvaluacion)
LEFT JOIN dbo.Ctrl_TrayectoriaAcademicaDet AS ctad ON cta.iFolio = ctad.iFolioTrayectoria
AND ctad.idEvaluacion = cfe2.idEvaluacion
LEFT JOIN dbo.Cat_EstatusEvaluacion AS cee ON cee.idEstatus = ctad.idEstatus
LEFT JOIN dbo.Ctrl_FormEvaluacion AS cfe ON cfe.idEvaluacion = ctad.idEvaluacion
AND cfe.idEvaluacion = cfe2.idEvaluacion
LEFT JOIN dbo.Ctrl_Grupos AS cg ON cg.idGrupo = cta.idGrupo
INNER JOIN dbo.Cat_OfEduc AS coe ON coe.idOfEduc = ci.idOfEduc
INNER JOIN dbo.Cat_Planteles AS cp2 ON cp2.idPlantel = ci.idPlantel
LEFT JOIN dbo.Cat_FormEvaluacion AS cfe3 ON cfe3.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion,
cpe2.idFormEvaluacion)
LEFT JOIN dbo.Ctrl_GrupoClaseTentativo AS cgct ON cgct.idAsignatura = cta.idAsignatura
AND cgct.idGrupo = cg.idGrupo
AND cgct.iFolioPeriodo = cp.iFolio
LEFT JOIN dbo.Cat_ClasifAsignaturas AS cca ON cca.idClasificacion = cpe.idClasificacion
OUTER APPLY dbo.fn_SA_ObtenerEstructuraRubricasAsignaturaConCalif(cta.iFolio,
ISNULL(ctad.idEvaluacion,
cfe2.idEvaluacion),
1) AS fsoeracc
WHERE ( ca.sMatricula = @sMatricula
OR @sMatricula = ''
)
AND ( ca.idAlumno = @idAlumno
OR @idAlumno = 0
)
AND ( ci.iFolio = @iFolioInsc
OR @iFolioInsc = 0
)
AND ( ci.iFolioPeriodo = @iFolioPeriodo
OR @iFolioPeriodo = -1
)
AND ( ci.idOfEduc = @idOfEduc
OR @idOfEduc = -1
)
AND ( cta.idPlanEstudios = @idPlanEstudios
OR @idPlanEstudios = -1
)
AND @diaHoy BETWEEN cp.dFechaInicial AND cp.dFechaFinal
--AND cta.idAsignatura = 106
) TR
OUTER APPLY dbo.fnCE_ObtnerCalificacionRubrica(TR.iFolioTrayectoria,
TR.idAspecto,
TR.idCategoria,
TR.idEvaluacion,
TR.bSubRubrica)
AS fcocr
WHERE (TR.sEvaluacion=@sEvaluacion OR @sEvaluacion='')
GROUP BY TR.iOrdenEval,TR.sEvaluacion
ORDER BY TR.iOrdenEval
SELECT TR.sPlantel ,
TR.sPlanEst ,
TR.sOfEduc ,
TR.sVersionPlanEst ,
TR.sPerioco ,
TR.sAbPeriodo ,
TR.iAnioInicial ,
TR.iMesInicial ,
TR.iCicloEscolar ,
TR.iMesFinal ,
TR.iAnioFinal ,
TR.sAsignatura ,
TR.iOrdenAsig ,
TR.iOrdenClasifAsig ,
TR.sAbEval ,
TR.dCalificacion ,
ISNULL(TR.sCalificacionR,'') AS sCalificacionR ,
TR.dCalificacionR ,
TR.idEstatus ,
TR.sAbreviatura ,
TR.dFechaReg ,
TR.iTipoRegistroCalif ,
TR.sResultado ,
TR.iFolioTrayectoria ,
TR.idEvaluacion ,
TR.idUsuario ,
TR.sObservaciones ,
TR.bHistorica ,
TR.sGrupo ,
TR.idAlumno ,
TR.idAsignatura ,
TR.iFolioPeriodo ,
TR.idOfEduc ,
TR.idPlanEstudios ,
TR.idGrupo ,
TR.sEvaluacion ,
ISNULL(TR.iFolioGrupoClases,0) AS iFolioGrupoClases ,
TR.iOrdenEval ,
ISNULL(TR.idAspecto,0) AS idAspecto,
TR.idCategoria ,
TR.sCategoria ,
TR.sIcono ,
TR.sColor ,
ISNULL(TR.sPorcentaje,'') AS sPorcentaje ,
TR.bSubRubrica,
ISNULL(fcocr.sCalificacionR,'') AS sCalificacionRub,
fcocr.dCalificacionR AS dCalificacionRub
FROM ( SELECT cp2.sNombre AS sPlantel ,
cpe2.sNombre AS sPlanEst ,
coe.sNombre AS sOfEduc ,
cpe2.sVersion AS sVersionPlanEst ,
cp.sNombreOficial AS sPerioco ,
cp.sAbPeriodo ,
cp.iAnioInicial ,
cp.iMesInicial ,
cp.iCicloEscolar ,
cp.iMesFinal ,
cp.iAnioFinal ,
ca2.sAsignatura ,
cpe.iOrden AS iOrdenAsig ,
ISNULL(cca.iOrden, 0) AS iOrdenClasifAsig ,
cfe2.sAbreviatura AS sAbEval ,
ctad.dCalificacion ,
dbo.fnObtenerCalificacionFinalRedondeo(cta.iFolio,
cfe2.idEvaluacion) AS sCalificacionR ,
dbo.fnObtenerCalificacionFinalRedondeoNumerico(cta.iFolio,
cfe2.idEvaluacion) AS dCalificacionR ,
ctad.idEstatus ,
cee.sAbreviatura ,
ctad.dFechaReg ,
ctad.iTipoRegistroCalif ,
CASE ctad.iTipoRegistroCalif
WHEN 1
THEN 'FALTAS SON IGUAL O MAYOR A LAS PERMITIDAS PARA LA EVALUACION'
WHEN 2
THEN 'FALTAS SUPERAN LAS FALTAS PERMITIDAS Y SE ASIGNA LA CALIFICACION MINIMA'
WHEN 3
THEN 'EL RESULTADO DE LA VALIDACION FUE ASIGNADO'
WHEN 4
THEN 'SE ASIGNA CALIFICACION MAXIMA POR QUE EXCENTA'
WHEN 5
THEN 'EL RESULTADO DE LA FORMULA ES ASIGNADO'
WHEN 6 THEN 'ESTATUS REGISTRADO POR PROFESOR'
WHEN 7
THEN 'NO SE ENCONTRO EL ESTATUS REGISTRADO'
WHEN 8
THEN 'CALIFICACION REGISTRADA POR PROFESOR'
WHEN 9
THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MENOR A LA MINIMA CAPTURABLE SE ASIGNA LA CALIFICACION MINIMA'
WHEN 10
THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MAYOR A LA MAXIMA REGISTRABLE'
WHEN 11
THEN 'NO SE PUDO GENERAR LA FORMULA O PROMEDIO'
WHEN 12
THEN 'RESULTADO DE LA FÓRMULA ES MENOS A LA MÍNIMA CAPTURARLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
WHEN 13
THEN 'RESULTADO DE LA VALIDACIÓN ES MENOS A LA MÍNIMA CAPTURABLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
END AS sResultado ,
cta.iFolio AS iFolioTrayectoria ,
ISNULL(ctad.idEvaluacion, cfe2.idEvaluacion) AS idEvaluacion ,
ctad.idUsuario ,
ctad.sObservaciones ,
ctad.bHistorica ,
CAST(cg.iGrado AS VARCHAR(2)) + '° ' + cg.sNombre AS sGrupo ,
ca.idAlumno ,
ca2.idAsignatura ,
ci.iFolioPeriodo ,
ci.idOfEduc ,
cpe.idPlanEstudios ,
cg.idGrupo ,
ISNULL(cfe.sNombre, cfe2.sNombre) AS sEvaluacion ,
cgct.iFolio AS iFolioGrupoClases ,
ISNULL(cfe.iOrden, cfe2.iOrden) AS iOrdenEval ,
fsoeracc.idAspecto ,
fsoeracc.idCategoria ,
ISNULL(fsoeracc.sCategoria,'') AS sCategoria ,
fsoeracc.sIcono ,
fsoeracc.sColor ,
fsoeracc.sPorcentaje ,
fsoeracc.bSubRubrica
FROM dbo.Ctrl_TrayectoriaAcademica AS cta
INNER JOIN dbo.Ctrl_Inscripciones AS ci ON ci.iFolio = cta.iFolioInscripcion
INNER JOIN dbo.Cat_Alumnos AS ca ON ca.idAlumno = ci.idAlumno
INNER JOIN dbo.Ctrl_Periodos AS cp ON cp.iFolio = ci.iFolioPeriodo
INNER JOIN dbo.Cat_Asignaturas AS ca2 ON ca2.idAsignatura = cta.idAsignatura
LEFT JOIN dbo.Ctrl_PlanEstudios AS cpe ON cpe.idAsignatura = cta.idAsignatura
AND cpe.idPlanEstudios = cta.idPlanEstudios
INNER JOIN dbo.Cat_PlanEstudios AS cpe2 ON cpe2.idPlanEstudios = cpe.idPlanEstudios
INNER JOIN dbo.Ctrl_FormEvaluacion AS cfe2 ON cfe2.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion,
cpe2.idFormEvaluacion)
LEFT JOIN dbo.Ctrl_TrayectoriaAcademicaDet AS ctad ON cta.iFolio = ctad.iFolioTrayectoria
AND ctad.idEvaluacion = cfe2.idEvaluacion
LEFT JOIN dbo.Cat_EstatusEvaluacion AS cee ON cee.idEstatus = ctad.idEstatus
LEFT JOIN dbo.Ctrl_FormEvaluacion AS cfe ON cfe.idEvaluacion = ctad.idEvaluacion
AND cfe.idEvaluacion = cfe2.idEvaluacion
LEFT JOIN dbo.Ctrl_Grupos AS cg ON cg.idGrupo = cta.idGrupo
INNER JOIN dbo.Cat_OfEduc AS coe ON coe.idOfEduc = ci.idOfEduc
INNER JOIN dbo.Cat_Planteles AS cp2 ON cp2.idPlantel = ci.idPlantel
LEFT JOIN dbo.Cat_FormEvaluacion AS cfe3 ON cfe3.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion,
cpe2.idFormEvaluacion)
LEFT JOIN dbo.Ctrl_GrupoClaseTentativo AS cgct ON cgct.idAsignatura = cta.idAsignatura
AND cgct.idGrupo = cg.idGrupo
AND cgct.iFolioPeriodo = cp.iFolio
LEFT JOIN dbo.Cat_ClasifAsignaturas AS cca ON cca.idClasificacion = cpe.idClasificacion
OUTER APPLY dbo.fn_SA_ObtenerEstructuraRubricasAsignaturaConCalif(cta.iFolio,
ISNULL(ctad.idEvaluacion,
cfe2.idEvaluacion),
1) AS fsoeracc
WHERE ( ca.sMatricula = @sMatricula
OR @sMatricula = ''
)
AND ( ca.idAlumno = @idAlumno
OR @idAlumno = 0
)
AND ( ci.iFolio = @iFolioInsc
OR @iFolioInsc = 0
)
AND ( ci.iFolioPeriodo = @iFolioPeriodo
OR @iFolioPeriodo = -1
)
AND ( ci.idOfEduc = @idOfEduc
OR @idOfEduc = -1
)
AND ( cta.idPlanEstudios = @idPlanEstudios
OR @idPlanEstudios = -1
)
AND @diaHoy BETWEEN cp.dFechaInicial AND cp.dFechaFinal
--AND cta.idAsignatura = 106
) TR
OUTER APPLY dbo.fnCE_ObtnerCalificacionRubrica(TR.iFolioTrayectoria,
TR.idAspecto,
TR.idCategoria,
TR.idEvaluacion,
TR.bSubRubrica)
AS fcocr
WHERE (TR.sEvaluacion=@sEvaluacionMostrar)
ORDER BY TR.sEvaluacion,TR.sPlantel ,
TR.sOfEduc ,
TR.iAnioInicial ,
TR.iMesInicial ,
TR.iCicloEscolar ,
TR.iOrdenClasifAsig ,
TR.iOrdenAsig ,
TR.iOrdenEval;
END
ELSE
BEGIN
SELECT TR.sPlantel ,
TR.sPlanEst ,
TR.sOfEduc ,
TR.sVersionPlanEst ,
TR.sPerioco ,
TR.sAbPeriodo ,
TR.iAnioInicial ,
TR.iMesInicial ,
TR.iCicloEscolar ,
TR.iMesFinal ,
TR.iAnioFinal ,
TR.sAsignatura ,
TR.iOrdenAsig ,
TR.iOrdenClasifAsig ,
TR.sAbEval ,
TR.dCalificacion ,
ISNULL(TR.sCalificacionR,'') AS sCalificacionR ,
TR.dCalificacionR ,
TR.idEstatus ,
TR.sAbreviatura ,
TR.dFechaReg ,
TR.iTipoRegistroCalif ,
TR.sResultado ,
TR.iFolioTrayectoria ,
TR.idEvaluacion ,
TR.idUsuario ,
TR.sObservaciones ,
TR.bHistorica ,
TR.sGrupo ,
TR.idAlumno ,
TR.idAsignatura ,
TR.iFolioPeriodo ,
TR.idOfEduc ,
TR.idPlanEstudios ,
TR.idGrupo ,
TR.sEvaluacion ,
ISNULL(TR.iFolioGrupoClases,0) AS iFolioGrupoClases ,
TR.iOrdenEval ,
ISNULL(TR.idAspecto,0) AS idAspecto,
TR.idCategoria ,
TR.sCategoria ,
TR.sIcono ,
TR.sColor ,
ISNULL(TR.sPorcentaje,'') AS sPorcentaje ,
TR.bSubRubrica,
ISNULL(fcocr.sCalificacionR,'') AS sCalificacionRub,
fcocr.dCalificacionR AS dCalificacionRub
FROM ( SELECT cp2.sNombre AS sPlantel ,
cpe2.sNombre AS sPlanEst ,
coe.sNombre AS sOfEduc ,
cpe2.sVersion AS sVersionPlanEst ,
cp.sNombreOficial AS sPerioco ,
cp.sAbPeriodo ,
cp.iAnioInicial ,
cp.iMesInicial ,
cp.iCicloEscolar ,
cp.iMesFinal ,
cp.iAnioFinal ,
ca2.sAsignatura ,
cpe.iOrden AS iOrdenAsig ,
ISNULL(cca.iOrden, 0) AS iOrdenClasifAsig ,
cfe2.sAbreviatura AS sAbEval ,
ctad.dCalificacion ,
dbo.fnObtenerCalificacionFinalRedondeo(cta.iFolio,
cfe2.idEvaluacion) AS sCalificacionR ,
dbo.fnObtenerCalificacionFinalRedondeoNumerico(cta.iFolio,
cfe2.idEvaluacion) AS dCalificacionR ,
ctad.idEstatus ,
cee.sAbreviatura ,
ctad.dFechaReg ,
ctad.iTipoRegistroCalif ,
CASE ctad.iTipoRegistroCalif
WHEN 1
THEN 'FALTAS SON IGUAL O MAYOR A LAS PERMITIDAS PARA LA EVALUACION'
WHEN 2
THEN 'FALTAS SUPERAN LAS FALTAS PERMITIDAS Y SE ASIGNA LA CALIFICACION MINIMA'
WHEN 3
THEN 'EL RESULTADO DE LA VALIDACION FUE ASIGNADO'
WHEN 4
THEN 'SE ASIGNA CALIFICACION MAXIMA POR QUE EXCENTA'
WHEN 5
THEN 'EL RESULTADO DE LA FORMULA ES ASIGNADO'
WHEN 6 THEN 'ESTATUS REGISTRADO POR PROFESOR'
WHEN 7
THEN 'NO SE ENCONTRO EL ESTATUS REGISTRADO'
WHEN 8
THEN 'CALIFICACION REGISTRADA POR PROFESOR'
WHEN 9
THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MENOR A LA MINIMA CAPTURABLE SE ASIGNA LA CALIFICACION MINIMA'
WHEN 10
THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MAYOR A LA MAXIMA REGISTRABLE'
WHEN 11
THEN 'NO SE PUDO GENERAR LA FORMULA O PROMEDIO'
WHEN 12
THEN 'RESULTADO DE LA FÓRMULA ES MENOS A LA MÍNIMA CAPTURARLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
WHEN 13
THEN 'RESULTADO DE LA VALIDACIÓN ES MENOS A LA MÍNIMA CAPTURABLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
END AS sResultado ,
cta.iFolio AS iFolioTrayectoria ,
ISNULL(ctad.idEvaluacion, cfe2.idEvaluacion) AS idEvaluacion ,
ctad.idUsuario ,
ctad.sObservaciones ,
ctad.bHistorica ,
CAST(cg.iGrado AS VARCHAR(2)) + '° ' + cg.sNombre AS sGrupo ,
ca.idAlumno ,
ca2.idAsignatura ,
ci.iFolioPeriodo ,
ci.idOfEduc ,
cpe.idPlanEstudios ,
cg.idGrupo ,
ISNULL(cfe.sNombre, cfe2.sNombre) AS sEvaluacion ,
cgct.iFolio AS iFolioGrupoClases ,
ISNULL(cfe.iOrden, cfe2.iOrden) AS iOrdenEval ,
fsoeracc.idAspecto ,
fsoeracc.idCategoria ,
ISNULL(fsoeracc.sCategoria,'') AS sCategoria ,
fsoeracc.sIcono ,
fsoeracc.sColor ,
fsoeracc.sPorcentaje ,
fsoeracc.bSubRubrica
FROM dbo.Ctrl_TrayectoriaAcademica AS cta
INNER JOIN dbo.Ctrl_Inscripciones AS ci ON ci.iFolio = cta.iFolioInscripcion
INNER JOIN dbo.Cat_Alumnos AS ca ON ca.idAlumno = ci.idAlumno
INNER JOIN dbo.Ctrl_Periodos AS cp ON cp.iFolio = ci.iFolioPeriodo
INNER JOIN dbo.Cat_Asignaturas AS ca2 ON ca2.idAsignatura = cta.idAsignatura
LEFT JOIN dbo.Ctrl_PlanEstudios AS cpe ON cpe.idAsignatura = cta.idAsignatura
AND cpe.idPlanEstudios = cta.idPlanEstudios
INNER JOIN dbo.Cat_PlanEstudios AS cpe2 ON cpe2.idPlanEstudios = cpe.idPlanEstudios
INNER JOIN dbo.Ctrl_FormEvaluacion AS cfe2 ON cfe2.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion,
cpe2.idFormEvaluacion)
LEFT JOIN dbo.Ctrl_TrayectoriaAcademicaDet AS ctad ON cta.iFolio = ctad.iFolioTrayectoria
AND ctad.idEvaluacion = cfe2.idEvaluacion
LEFT JOIN dbo.Cat_EstatusEvaluacion AS cee ON cee.idEstatus = ctad.idEstatus
LEFT JOIN dbo.Ctrl_FormEvaluacion AS cfe ON cfe.idEvaluacion = ctad.idEvaluacion
AND cfe.idEvaluacion = cfe2.idEvaluacion
LEFT JOIN dbo.Ctrl_Grupos AS cg ON cg.idGrupo = cta.idGrupo
INNER JOIN dbo.Cat_OfEduc AS coe ON coe.idOfEduc = ci.idOfEduc
INNER JOIN dbo.Cat_Planteles AS cp2 ON cp2.idPlantel = ci.idPlantel
LEFT JOIN dbo.Cat_FormEvaluacion AS cfe3 ON cfe3.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion,
cpe2.idFormEvaluacion)
LEFT JOIN dbo.Ctrl_GrupoClaseTentativo AS cgct ON cgct.idAsignatura = cta.idAsignatura
AND cgct.idGrupo = cg.idGrupo
AND cgct.iFolioPeriodo = cp.iFolio
LEFT JOIN dbo.Cat_ClasifAsignaturas AS cca ON cca.idClasificacion = cpe.idClasificacion
LEFT JOIN dbo.Ctrl_LimiteCapturaCal AS clcc ON clcc.idEvaluacion = cfe2.idEvaluacion
AND clcc.idPlanEstudios = cta.idPlanEstudios
AND clcc.idPlantel = ci.idPlantel
AND clcc.iFolioPeriodo = ci.iFolioPeriodo
AND clcc.iGrado = cg.iGrado
OUTER APPLY dbo.fn_SA_ObtenerEstructuraRubricasAsignaturaConCalif(cta.iFolio,
ISNULL(ctad.idEvaluacion,
cfe2.idEvaluacion),
1) AS fsoeracc
WHERE ( ca.sMatricula = @sMatricula
OR @sMatricula = ''
)
AND ( ca.idAlumno = @idAlumno
OR @idAlumno = 0
)
AND ( ci.iFolio = @iFolioInsc
OR @iFolioInsc = 0
)
AND ( ci.iFolioPeriodo = @iFolioPeriodo
OR @iFolioPeriodo = 0
)
AND ( ci.idOfEduc = @idOfEduc
OR @idOfEduc = 0
)
AND ( cta.idPlanEstudios = @idPlanEstudios
OR @idPlanEstudios = 0
)
AND ( GETDATE() >= clcc.dFechaPublicacion
OR clcc.dFechaPublicacion IS NULL
)
--AND cta.idAsignatura = 106
) TR
OUTER APPLY dbo.fnCE_ObtnerCalificacionRubrica(TR.iFolioTrayectoria,
TR.idAspecto,
TR.idCategoria,
TR.idEvaluacion,
TR.bSubRubrica)
AS fcocr
WHERE (TR.sEvaluacion=@sEvaluacion OR @sEvaluacion='')
ORDER BY TR.sPlantel ,
TR.sOfEduc ,
TR.sEvaluacion,
TR.iAnioInicial ,
TR.iMesInicial ,
TR.iCicloEscolar ,
TR.iOrdenClasifAsig ,
TR.iOrdenAsig ,
TR.iOrdenEval;
END
END;
以上是关于sql BIT / IAM-1758 - sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno - Se adiciona JOIN c的主要内容,如果未能解决你的问题,请参考以下文章
sql BIT / IAM-2081 - sp2CES_ALU_ObtenerInfoInscripVigente - Se agrega para obtener la oferta edu
跪求SQL Server 2008 R2 Standard (64-bit) x64下载地址。
windows server 2003 64 位能不能支持 SQL 2000? 是需要安装SQL sp4的补丁吗? 顺求 2003 64位系统..
windows server 2003 64bit SP2下安装RabbitMQ
SQL Server 2005 sp_send_dbmail出现Internal error at FormatRowset (Reason: Not enough storage is availa