Как создать представление / таблицу в моем контексте в MySQL? - PullRequest
1 голос
/ 03 февраля 2010

Я хочу создать представление / таблицу в MySQL. У меня сейчас две таблицы:

create table teacher(
id int(10) not null auto_increment, 
name varchar(50), 
primary key(id)
);
create table student(
id int(10) not null auto_increment, 
name varchar(50), 
teacher_id int(10), 
primary key(id), 
foreign key(teacher_id) references teacher(id) on delete cascade);

Теперь я хочу получить teacher.name и student.name в одном столбце и сделать teacher.teacher_id как parent_id, student.id как id.

Новая таблица должна иметь структуру:

table(parent_id, id, name);  

Edit:

Значением столбца «имя» является либо имя учителя, либо имя студента.

пример:

parent_id     id             name
  0            1           teacher1
  1            2           student1
  1            3           student2
  0            4           teacher2
  4            5           student3

Как это сделать? Заранее спасибо;)

Редактировать: есть кто-то, кто знает, как это сделать? Удивление ...

1 Ответ

2 голосов
/ 03 февраля 2010

Я не уверен, что понимаю, что вы имеете в виду, когда получаете teacher.name и student.name в одном столбце.Я предполагал, что вы имеете в виду, что хотите объединить их в одну строку, например, «Джон Смит, Майкл Джонс».

CREATE VIEW teacherstudent AS
SELECT teacher.id AS parent_id, student.id AS child_id, CONCAT(teacher.name,', ',student.name) AS name
FROM teacher, student
WHERE teacher.id = student.teacher_id;

Теперь вы можете просто сделать select * from teacherstudent;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...