Nueva pregunta

Pregunta:

Fecha: 16-09-2016 08:53:48 (En Español)

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 (.......)
¿?
Etiquetas: Base de Datos - MySQL - Pregunta - Query - SQL 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
 
frjcbbae garagebible.com