Pregunta:
Fecha: 16-09-2016 08:53:48
(En Español)
buenos días tengo esta bd
tengo 3 tablas curso, persona y certificado
en donde mi tabla base es certificados
1.- como unirlo las dos tablas a mi tabla base ¿?
2.- y como seria la consulta si quiero buscar por nombre y por código certificado
CREATE DATABASE ConsultaCertificados;
GO
use ConsultaCertificados;
GO
CREATE TABLE CURSOS
( id_curso int identity(1,1),
NombreCurso varchar(max),
nota int not null default '0',
horasCursada varchar(10) not null,
fecha varchar(10) NOT NULL,
CONSTRAINT pk1 PRIMARY KEY(id_curso)
);
go
CREATE TABLE PERSONAS
( id_personas int identity(1,1),
dni varchar(8) NOT NULL,
nombres varchar(max) NOT NULL,
apellidoPaterno varchar(max),
apellidoMaterno varchar(max),
CONSTRAINT pk2 PRIMARY KEY(id_personas),
);
go
CREATE TABLE CERTIFICADOS
(
id_certificado int identity(1,1),
id_curso int not null,
id_personas int not null,
capacitacion varchar(50) not null,
codigoCertificado int,
certificacion varchar (50) not null,
CONSTRAINT UQ_codigoUnico UNIQUE( codigoCertificado ),
CONSTRAINT pk3 PRIMARY KEY(id_certificado),
);
GO
ALTER TABLE CERTIFICADOS ADD CONSTRAINT fk_persona FOREIGN KEY(id_personas) REFERENCES PERSONAS
GO
ALTER TABLE CERTIFICADOS ADD CONSTRAINT fk_curso FOREIGN KEY(id_curso) REFERENCES CURSOS
GO
select * from CURSOS;
select * from PERSONAS;
select * from CERTIFICADOS;
select per.dni,PER.nombres+ ' ' + per.apellidoPaterno+ ' ' + per.apellidoMaterno as 'Nombre y Apellidos', cer.capacitacion,cer.codigoCertificado, cer.certificacion, cur.nota,cur.horasCursada,cur.fecha from CERTIFICADOS as cer,CURSOS as cur ,PERSONAS as per
where (.......)
¿?
Votos: 2 - Respuestas: 3 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
Pregunta de SQL - relacionar tablas y consulta para buscar[No resuelta]
¿cómo relacionar correctamente las tablas a la tabla base certificado? y ¿cuál seria la cunsulta para buscar por nombre y codigo certificado?buenos días tengo esta bd
tengo 3 tablas curso, persona y certificado
en donde mi tabla base es certificados
1.- como unirlo las dos tablas a mi tabla base ¿?
2.- y como seria la consulta si quiero buscar por nombre y por código certificado
CREATE DATABASE ConsultaCertificados;
GO
use ConsultaCertificados;
GO
CREATE TABLE CURSOS
( id_curso int identity(1,1),
NombreCurso varchar(max),
nota int not null default '0',
horasCursada varchar(10) not null,
fecha varchar(10) NOT NULL,
CONSTRAINT pk1 PRIMARY KEY(id_curso)
);
go
CREATE TABLE PERSONAS
( id_personas int identity(1,1),
dni varchar(8) NOT NULL,
nombres varchar(max) NOT NULL,
apellidoPaterno varchar(max),
apellidoMaterno varchar(max),
CONSTRAINT pk2 PRIMARY KEY(id_personas),
);
go
CREATE TABLE CERTIFICADOS
(
id_certificado int identity(1,1),
id_curso int not null,
id_personas int not null,
capacitacion varchar(50) not null,
codigoCertificado int,
certificacion varchar (50) not null,
CONSTRAINT UQ_codigoUnico UNIQUE( codigoCertificado ),
CONSTRAINT pk3 PRIMARY KEY(id_certificado),
);
GO
ALTER TABLE CERTIFICADOS ADD CONSTRAINT fk_persona FOREIGN KEY(id_personas) REFERENCES PERSONAS
GO
ALTER TABLE CERTIFICADOS ADD CONSTRAINT fk_curso FOREIGN KEY(id_curso) REFERENCES CURSOS
GO
select * from CURSOS;
select * from PERSONAS;
select * from CERTIFICADOS;
select per.dni,PER.nombres+ ' ' + per.apellidoPaterno+ ' ' + per.apellidoMaterno as 'Nombre y Apellidos', cer.capacitacion,cer.codigoCertificado, cer.certificacion, cur.nota,cur.horasCursada,cur.fecha from CERTIFICADOS as cer,CURSOS as cur ,PERSONAS as per
where (.......)
¿?
Votos: 2 - Respuestas: 3 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 16-09-2016 11:52:32 hola mi Estimado veo que te estas iniciando en el mundo de la programación,puedes usar el inner join para las consultas y claro si quieres buscar un código y nombre específico usa la cláusula where sino otra opción es filtrar la data con la cláusula like eso depende de ti.
espero te sirva mi estimado. Votos: 2 - Link respuesta -
Fecha: 17-09-2016 06:40:26 En caso de que estés usando como motor de bases de datos MySQL, esto te puede ser de ayuda MySQL Ya Votos: 1 - Link respuesta
-
Fecha: 17-09-2016 11:41:33 ALEXIS
Buenas tardes
Para relacionar TABLAS necesariamente, debes tener CAMPOS en cada una de ellas, los cuales puede relacionar:
EJEMPLO:
Imagina por ejemplo que el CAMPO id_cursos lo tengo en las 3 TABLAS
SELECT *
FROM cursos, personas, certificados
WHERE cursos.id_cursos = personas.id_cursos
AND cursos.id_cursos = certificados.id_cursos
Espero que te ayude en algo
Un saludo
Daniel Votos: 2 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
