Mysql benim bağlamda bir görünüm / tablo oluşturmak nasıl?

1 Cevap php

Mysql bir görünüm / tablo oluşturmak istiyorum. Şimdi iki tablo var:

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);

Şimdi, teacher.name almak istiyorum ve student.name aynı sütunda, ve [(4)] {parent_id olarak teacher.teacher_id yapmak } olarak id.

Yeni tablo yapısı olmalıdır:

table(parent_id, id, name);  

Edit:

"Isim" sütun değeri öğretmenin adı veya öğrencinin adı değil.

Örnek:

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

Bunu nasıl? Şimdiden teşekkürler ;)

Edit: bunu bilen birisi var mı? Merak ...

1 Cevap

Seni aynı sütunda teacher.name ve student.name alarak ne anlama geldiğini anlamak emin değilim. Ben size bir dize, örneğin "John Smith, Michael Jones" olarak onları bir araya istiyorum anlamına kabul ettik.

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;

Artık sadece yapabileceği bir select * from teacherstudent;