У меня есть 3 таблицы в моей базе данных mysql: student, progress and subject
. При попытке выбрать данные:Как связать таблицы mysql
SELECT progress.id, progress.mark, subject.pname FROM progress, subject WHERE progress.id_student = 1;
я получаю следующую таблицу:
id mark pname
1 5 Math
1 5 Physics
прогресс таблицы У меня есть только одна запись:
id mark id_student id_subject
1 5 1 1
Как я могу получить прогресс студента по student_id
?
CREATE DATABASE students;
USE students;
CREATE TABLE student (
id int NOT NULL AUTO_INCREMENT,
name varchar(100) NOT NULL,
address varchar(60) NOT NULL,
byear int NOT NULL,
eyear int NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE subject (
id int NOT NULL AUTO_INCREMENT,
pname varchar(20) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE progress (
id int NOT NULL AUTO_INCREMENT,
mark int NOT NULL,
id_student int NOT NULL,
id_subject int NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (id) REFERENCES student (id),
FOREIGN KEY (id) REFERENCES subject (id)
);
вы уже получаете output.So чем проблема – PSR