buen dia amigos, soy nuevo en este foro y necesito ayuda en un proyecto que estoy desarrollando.
el sistema es de inscripcion y control de notas para una escuela, de momento todo va bien pero necesito hacer un select que me muestre el listado de alumnos de un grado en particular con sus respectivas notas, ya que se supone que el maestro tiene que ingresar las notas y para ello debe de selecionar el grado y una materia en particular..
bueno espero me de a entender, aca les dejo el la BD y una consulta que he hecho pero que no me funcionar como deberia de ser...
Espero alguien me pueda ayudar...
aca mi correo:
[EMAIL="[email protected]"][email protected][/EMAIL]
CREATE TABLE [Alumnos] (
[NIE] INTEGER IDENTITY(1,1) NOT NULL,
[Nombres] VARCHAR(50) NOT NULL,
[Apellidos] VARCHAR(50) NOT NULL,
[Edad] VARCHAR(40) NOT NULL,
[Sexo] CHAR(1) NOT NULL,
[IdMunicipio] INTEGER NOT NULL,
[Direccion] VARCHAR(100) NOT NULL,
[TelefonoCasa] VARCHAR(8) NOT NULL,
CONSTRAINT [PK_Alumnos] PRIMARY KEY ([NIE])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Materias" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Materias] (
[codMateria] INTEGER IDENTITY(1,1) NOT NULL,
[NomMateria] VARCHAR(50) NOT NULL,
CONSTRAINT [PK_Materias] PRIMARY KEY ([codMateria])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Grados" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Grados] (
[CodGrado] INTEGER IDENTITY(1,1) NOT NULL,
[Descripcion] VARCHAR(50) NOT NULL,
[CodMaestro] INTEGER NOT NULL,
CONSTRAINT [PK_Grados] PRIMARY KEY ([CodGrado])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Maestros" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Maestros] (
[CodMaestro] INTEGER IDENTITY(1,1) NOT NULL,
[Nombres] VARCHAR(50) NOT NULL,
[Apellidos] VARCHAR(50) NOT NULL,
[Telefono] VARCHAR(8),
[IdUsuario] INTEGER NOT NULL,
CONSTRAINT [PK_Maestros] PRIMARY KEY ([CodMaestro])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Departamento" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Departamento] (
[IdDepartamento] INTEGER IDENTITY(1,1) NOT NULL,
[Descripcion] VARCHAR(50) NOT NULL,
CONSTRAINT [PK_Departamento] PRIMARY KEY ([IdDepartamento])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Municipio" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Municipio] (
[IdMunicipio] INTEGER IDENTITY(1,1) NOT NULL,
[Descripcion] VARCHAR(40),
[IdDepartamento] INTEGER NOT NULL,
CONSTRAINT [PK_Municipio] PRIMARY KEY ([IdMunicipio])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "MaestrosMaterias" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [MaestrosMaterias] (
[CodMaestro_Materia] INTEGER IDENTITY(1,1) NOT NULL,
[CodMaestro] INTEGER NOT NULL,
[codMateria] INTEGER NOT NULL,
PRIMARY KEY ([CodMaestro_Materia])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Inscripcion" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Inscripcion] (
[CodMatricula] INTEGER IDENTITY(1,1) NOT NULL,
[Fecha] DATETIME NOT NULL,
[NIE] INTEGER NOT NULL,
[IdMat_GRa] INTEGER NOT NULL,
CONSTRAINT [PK_Inscripcion] PRIMARY KEY ([CodMatricula])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Responsables" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Responsables] (
[CodResponsable] INTEGER IDENTITY(1,1) NOT NULL,
[Nombres] VARCHAR(50) NOT NULL,
[Apellidos] VARCHAR(50) NOT NULL,
[Parentesto] VARCHAR(40) NOT NULL,
[IdMunicipio] INTEGER NOT NULL,
[Direccion] VARCHAR(100) NOT NULL,
[Telefono] VARCHAR(8) NOT NULL,
[NIE] INTEGER NOT NULL,
CONSTRAINT [PK_Responsables] PRIMARY KEY ([CodResponsable])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Usuarios" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Usuarios] (
[IdUsuario] INTEGER IDENTITY(1,1) NOT NULL,
[Usuario] VARCHAR(40) NOT NULL,
[Contraseña] VARCHAR(100) NOT NULL,
[Privilegio] TINYINT NOT NULL,
CONSTRAINT [PK_Usuarios] PRIMARY KEY ([IdUsuario])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Notas" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Notas] (
[CodNotas] INTEGER IDENTITY(1,1) NOT NULL,
[N1] FLOAT NOT NULL,
[N2] FLOAT NOT NULL,
[N3] FLOAT NOT NULL,
[N4] FLOAT NOT NULL,
[CodMatricula] INTEGER NOT NULL,
CONSTRAINT [PK_Notas] PRIMARY KEY ([CodNotas])
)
GO
/* ---------------------------------------------------------------------- */
/* Add table "Materias_Grado" */
/* ---------------------------------------------------------------------- */
CREATE TABLE [Materias_Grado] (
[IdMat_GRa] INTEGER IDENTITY(1,1) NOT NULL,
[codMateria] INTEGER NOT NULL,
[CodGrado] INTEGER on delete cascade NOT NULL,
CONSTRAINT [PK_Materias_Grado] PRIMARY KEY ([IdMat_GRa])
)
GO
/* ---------------------------------------------------------------------- */
/* Foreign key constraints */
/* ---------------------------------------------------------------------- */
ALTER TABLE [Alumnos] ADD CONSTRAINT [Municipio_Alumnos]
FOREIGN KEY ([IdMunicipio]) REFERENCES [Municipio] ([IdMunicipio])
GO
ALTER TABLE [Grados] ADD CONSTRAINT [Maestros_Grados]
FOREIGN KEY ([CodMaestro]) REFERENCES [Maestros] ([CodMaestro])
GO
ALTER TABLE [Maestros] ADD CONSTRAINT [Usuarios_Maestros]
FOREIGN KEY ([IdUsuario]) REFERENCES [Usuarios] ([IdUsuario])
GO
ALTER TABLE [Municipio] ADD CONSTRAINT [Departamento_Municipio]
FOREIGN KEY ([IdDepartamento]) REFERENCES [Departamento] ([IdDepartamento])
GO
ALTER TABLE [MaestrosMaterias] ADD CONSTRAINT [Maestros_MaestrosMaterias]
FOREIGN KEY ([CodMaestro]) REFERENCES [Maestros] ([CodMaestro])
GO
ALTER TABLE [MaestrosMaterias] ADD CONSTRAINT [Materias_MaestrosMaterias]
FOREIGN KEY ([codMateria]) REFERENCES [Materias] ([codMateria])
GO
ALTER TABLE [Inscripcion] ADD CONSTRAINT [Alumnos_Inscripcion]
FOREIGN KEY ([NIE]) REFERENCES [Alumnos] ([NIE])
GO
ALTER TABLE [Inscripcion] ADD CONSTRAINT [Materias_Grado_Inscripcion]
FOREIGN KEY ([IdMat_GRa]) REFERENCES [Materias_Grado] ([IdMat_GRa])
GO
ALTER TABLE [Responsables] ADD CONSTRAINT [Municipio_Responsables]
FOREIGN KEY ([IdMunicipio]) REFERENCES [Municipio] ([IdMunicipio])
GO
ALTER TABLE [Responsables] ADD CONSTRAINT [Alumnos_Responsables]
FOREIGN KEY ([NIE]) REFERENCES [Alumnos] ([NIE])
GO
ALTER TABLE [Notas] ADD CONSTRAINT [Inscripcion_Notas]
FOREIGN KEY ([CodMatricula]) REFERENCES [Inscripcion] ([CodMatricula])
GO
ALTER TABLE [Materias_Grado] ADD CONSTRAINT [Materias_Materias_Grado]
FOREIGN KEY ([codMateria]) REFERENCES [Materias] ([codMateria])
GO
ALTER TABLE [Materias_Grado] ADD CONSTRAINT [Grados_Materias_Grado]
FOREIGN KEY ([CodGrado]) REFERENCES [Grados] ([CodGrado])
GO
Consulta:
select a.nombres, a.apellidos, n.n1, n.n2, n.n3, n.n4, ((n.N1+n.N2+n.N3+n.N4)/4) as promedio
from Alumnos a inner join Inscripcion i
on i.NIE= i.NIE inner join Materias_Grado mg
on mg.IdMat_GRa= mg.IdMat_GRa inner join Notas n
on n.CodMatricula= i.CodMatricula
where mg.CodGrado= 7 and mg.codMateria= 6