2
I didn’t quite understand your question because it is update in the title and context you use Insert, but come on, you can use select to do this as follows.
Declare @disciplinas table
(
Id_Disciplina int,
Nome varchar(50),
Descricao varchar(200),
Aluno_Id int
)
insert into @disciplinas values(1,'sql','mod 1',1)
Declare @Alunos table
(
Id_Aluno int,
Descricao varchar(200),
Id_Turma int,
Nome varchar(50)
-- ......
)
insert into @Alunos values(1,'.....',1, 'joão')
Declare @Licao table
(
Id_Turma int,
Id_Disciplina int,
Licao int
-- ......
)
insert into @Licao values(1,1,1)
Declare @Turma table
(
Id_Turma int,
Nome varchar(50)
-- ......
)
insert into @Turma values(1,'teste 1')
Declare @Faltas_Licao table
(
Id_Turma int,
Id_Disciplina int,
Licao int,
Tipo varchar(50),
Descricao varchar(200),
Aluno_Id int
)
insert into @Faltas_Licao
select t.Id_Turma, l.Id_Disciplina,l.Licao, 'falta', 'falta por atraso', a.Id_Aluno
from @Turma t
join @Licao l
on l.Id_Turma = t.Id_Turma
join @disciplinas d
on d.Id_Disciplina = l.Id_Disciplina
join @Alunos a
on a.Id_Aluno = d.Aluno_Id
-- where ...??
--ou update
update fl
set fl.Id_Turma = t.Id_Turma,
fl.Id_Disciplina = l.Id_Disciplina,
fl.Licao = l.Licao,
fl.Tipo = 'falta',
fl.Descricao = 'outro motivo',
fl.Aluno_Id = a.Id_Aluno
from @Faltas_Licao fl
join @Turma t
on fl.Id_Turma = t.Id_Turma
join @Licao l
on l.Id_Turma = t.Id_Turma
join @disciplinas d
on d.Id_Disciplina = l.Id_Disciplina
join @Alunos a
on a.Id_Aluno = d.Aluno_Id
-- where ...??
select * from @Faltas_Licao
you want to do an update or Insert?
– Marco Souza