У меня есть таблица лиц, в которой 100 человек, из которых 80 студентов, из этих 80 зачислено только 50, я пытаюсь сделать один left join
(Sql Server), чтобы он показывал мне студента, который существует, даже когда они не зачислен
Таблица, в которой хранится информация о курсе, параллели, повороте,MATRICULA
var persona = (from p in db.Persona // cantidad de Personas _________________________ 100
join co in db.Colegio on p.CodColegio equals co.IdColegio
join al in db.Alumno on p.CodPersona equals al.CodPersona // cantidad de personas que son alumnos___________ 80
join ma in db.Matricula on al.CodAlumno equals ma.CodAlumno // cantidad de añumnos que estan matriculados ___ 50
join cu in db.Curso on ma.CodCurso equals cu.CodCurso // los _ 50 _ tienen curso asignado
join pa in db.Paralelo on ma.CodParalelo equals pa.CodParalelo // los _ 50 _ tienen paralelo asignado
join tu in db.Turno on ma.CodTurno equals tu.CodTurno // los _ 50 _ tienen turno asignado
where p.NombreCompleto.ToUpper().Replace(" ", string.Empty) == nombre.ToUpper().Replace(" ", string.Empty)
select new
{
CodPersona = p.CodPersona,
NombreCompleto = p.NombreCompleto,
CodColegio = p.CodColegio,
colegio = co.Nombre,
curso = cu.Descripcion,
paralelo = pa.Descripcion,
turno = tu.Descripcion
}).FirstOrDefault();
С помощью метода
DefaultIfEmpty()
вы можете сделать левое соединение, я приведу вам пример сPersona
иColegio
Я думаю, ты можешь это сделать
-------- SQL-запрос