重复的列名称MySQL
问题描述:
我不应该有这个错误。 这里是代码重复的列名称MySQL
drop database if exists myDB;
CREATE DATABASE IF NOT EXISTS myDB;
USE myDB;
CREATE TABLE teacher(
tId int auto_increment primary key,
fname varchar(50),
lname varchar(50),
sId varchar(50)
);
CREATE TABLE student(
sId varchar(50) not null primary key,
fname varchar(50),
lname varchar(50)
);
ALTER TABLE teacher
ADD foreign key (sId) references student(sId);
insert into student values ('123', 'a', 'aa');
insert into student values ('456', 'b', 'bb');
insert into teacher (fname, lname, sId) values ('t', 'tt', '123');
insert into teacher (fname, lname, sId) values ('x', 'xx', '456');
create or replace view showTeachersAndStudents as
select teacher.fname, teacher.lname, student.sId, student.fname, student.lname
from teacher join student on teacher.sId = student.sId;
的错误:错误代码:1060重复列名“FNAME”
请你帮忙,非常感谢你。
答
您的看法尝试返回两次fname
和lname
。
添加别名到您的视图:
create or replace view showTeachersAndStudents as
select teacher.fname fname_teacher,
teacher.lname lnamet_teacher,
student.sId,
student.fname fname_student,
student.lname lname_student
from teacher
join student on teacher.sId = student.sId;
作品魅力..感谢一百万。我错过了这件事 – Yahya
我很高兴能够帮助。 – McNets