Hola, como les va?.....los molesto para saber si me pueden decir como haria una referencia cruzada para solucionar lo sig:

- debo llenar una Grid con las notas de un alumno Horizontalmente, en Nota1, Nota2, Nota3, Trim1, Nota 4, Nota 5, Nota6, Trim2, Nota7, Nota8, Nota9, Trim3.....

En la Tabla Notas, estan verticalmente y por Fecha..............

Dejo codigo y Captura de Pantalla de Grid para Graficar.....

Agradezco lo que me puedan aporten......Abrazos.....

Código:
public List<AsistenciaEntity> getAlMat(int Alumno)
        {
            try
            {
                connection.Open();
                command.Parameters.AddWithValue("@Alum", Alumno);

                command.CommandText = @"SELECT B.Id_Alumno, B.Nombre, B.Apellido, B.Dni, D.Id_Materia, D.Nombre AS NombreMateria, A.Id_Turno, N.Id_Nota, N.Nota, N.Trimestre
                                        FROM 	                                    
	                                    MateriaPorAlumno AS A,
	                                    Alumno AS B,
	                                    TurnoMateria AS C,
	                                    Materias AS D,
                                        Notas AS N                                      
                                        WHERE
                                        A.Id_Alumno = B.Id_Alumno AND
	                                    C.Id_Turno = A.Id_Turno AND
	                                    D.Id_Materia = C.Id_Materia AND
                                        N.Id_MateriaPorAlumno = A.Id AND                                                                        
                                        B.Id_Alumno = @Alum Order By N.[Trimestre] Asc";

                      
                OleDbDataReader lector = command.ExecuteReader();
           try
            {   
                List<AsistenciaEntity> listAsistencia = new List<AsistenciaEntity>();
                while (lector.Read())
                {
                    AsistenciaEntity asistencia = new AsistenciaEntity();
                    asistencia.Turno = new TurnoEntity();
                    asistencia.Turno.Materia = new MateriaEntity();
                    asistencia.Turno.Materia.Id_Materia = Convert.ToInt32(lector["Id_Materia"].ToString());
                    asistencia.Turno.Materia.Nombre = lector["NombreMateria"].ToString();

                    asistencia.Alumno = new AlumnoEntity();
                    asistencia.Alumno.Id_Alumno = Convert.ToInt32(lector["Id_Alumno"].ToString());
                    asistencia.Alumno.Nombre = lector["Nombre"].ToString();
                    asistencia.Alumno.Apellido = lector["Apellido"].ToString();
                    asistencia.Alumno.Dni = Convert.ToInt32(lector["Dni"].ToString());

                    asistencia.MateriaPorAlumno = new MateriaPorAlumnoEntity();
                    asistencia.MateriaPorAlumno.Turno = new TurnoEntity();
                    asistencia.MateriaPorAlumno.Turno.Id_Turno = Convert.ToInt32(lector["Id_Turno"].ToString()); 

                    asistencia.Nota = new NotaEntity();
                    asistencia.Nota.Id_Nota = Convert.ToInt32(lector["Id_Nota"].ToString());
                    asistencia.Nota.Nota = Convert.ToInt32(lector["Nota"].ToString());
                    asistencia.Nota.Trimestre = Convert.ToInt32(lector["Trimestre"].ToString());

                    listAsistencia.Add(asistencia);

                }
                return listAsistencia;
            }
            catch (Exception ex)
            {
                throw ex;
            }
Captura