Criar relacionamentos joins

15/02/2017

0


Olá pessoal sou nova e sql e tenho que criar o relacionamento entre 3 tabelas,só que na terceira tabela eu tenho que inserir o valor correspondente:
Gostaria de saber se neste caso eu posso inserir o valor e depois os comandos:

Select Aluno.Nr_Rgm,Classe.Cd_Classe,
from aluno,Classe,matricula,
inner join matricula,
on Aluno.Nr_Rgm=Classe.Rgm

Fico no aguardo.
Monica Pereira

Monica Pereira

Responder

Posts

15/02/2017

Weslei Patrick

Boa noite,

Primeiro especifica quais campos você possui em cada tabela, para ficar mais fácil de alguém conseguir auxiliar.

Muito obrigado.
Responder

18/02/2017

Monica Pereira

Tenho que criar o relacionamento entre 03 tabelas (Aluno, Classe e matricula)o código que eu criei foi:

Create Table Matricula(
Nr_Rgm number(8) ,
Cd_Classe number(8) ,
Dt_Matricula date,
CONSTRAINT fk_Rgm,
FOREIGN KEY (Nr_Rgm)
REFERENCES Aluno(Nr_Rgm)
CONSTRAINT fk_classe,
FOREIGN KEY (Cd_Classe)
REFERENCES Classe(Cd_Classe)
CONSTRAINT MATRICULA_pk PRIMARY KEY(Nr_Rgm,Cd_Classe)
)

SELECT_ALUNO_CLASSE
from Matricula as M
inner join Aluno as A on A.Nr_Rgm = M.Nr_Rgm
inner join Classe as C on C.Cd_Classe = M.Cd_Classe;

Porém o sistema traz a mensagem :
Não é possível ler propriedade 'substring' de undefined

Não sei onde estou errando..
Responder

19/02/2017

Fernando C

na 1ª sql (create table Matricula):

1. vc está usando as mesmas colunas como chaves primaria e estrangeira ao mesmo tempo; sugiro que retire essa linha:
CONSTRAINT MATRICULA_pk PRIMARY KEY(Nr_Rgm,Cd_Classe)
pois acho que essas colunas serão chaves estrangeiras.
crie uma chave primaria nº auto-incremento comum mesmo.

2. falta uma virgula no fim dessa linha:
REFERENCES Aluno(Nr_Rgm),


na 2ª sql (select...) vc deve listar os nomes das tabelas e das colunas. ex:
SELECT A.nome, C.serie, M.dt_matricula.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar