Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

select de varias tablas

Estas en el tema de select de varias tablas en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/04/2012, 12:50
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Pregunta select de varias tablas

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
  #2 (permalink)  
Antiguo 07/04/2012, 15:22
 
Fecha de Ingreso: abril-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 0
Respuesta: select de varias tablas

resultado de la consulta?
  #3 (permalink)  
Antiguo 07/04/2012, 20:51
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: select de varias tablas

El resultado de la consulta que he hecho no da nada, almenos que primero inserte registros a la tabla notas, y salen repetidos, pero la idea es poder ver los alumnos para que el docente ingrese las notas...
  #4 (permalink)  
Antiguo 10/04/2012, 06:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: select de varias tablas

pues si usas left join en lugar de inner join puede que tu consulta funcione sin datos en todas las tablas :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 14/04/2012, 21:50
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: select de varias tablas

Gracias por sus respuestas, ya logre solucionar ese problema...

Etiquetas: select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:09.