我现在有两张表
班级 bid 班级编号 任课教师 军事教官 学习顾问
1 1013 0125 0126 0127员工yid 员工编号 员工姓名 员工职务
1 0125 张 任课教师
2 0126 李 军事教官
3 0127 王 学习顾问 首先说班级表中3个教师字段,关联的都是员工表中员工编号。
查询效果应该是 班级编号 任课教师 军事教官 学习顾问
1013 张 李 王我如果这样设计怎么写查询语句?可以得到我想要的查询效果?
或者大家有什么好的设计方案?
班级 bid 班级编号 任课教师 军事教官 学习顾问
1 1013 0125 0126 0127员工yid 员工编号 员工姓名 员工职务
1 0125 张 任课教师
2 0126 李 军事教官
3 0127 王 学习顾问 首先说班级表中3个教师字段,关联的都是员工表中员工编号。
查询效果应该是 班级编号 任课教师 军事教官 学习顾问
1013 张 李 王我如果这样设计怎么写查询语句?可以得到我想要的查询效果?
或者大家有什么好的设计方案?
select
a.bid, b.员工姓名, c.员工姓名, d.员工姓名
from
班级 a
left join 员工 b on a.任课老师 = b.员工编号
left join 员工 c on a.任课老师 = c.员工编号
left join 员工 d on a.任课老师 = c.员工编号
--copy快了,没修改
select
a.bid, b.员工姓名, c.员工姓名, d.员工姓名
from
班级 a
left join 员工 b on a.任课老师 = b.员工编号
left join 员工 c on a.军事教官 = c.员工编号
left join 员工 d on a.学习顾问 = c.员工编号
select
a.bid, b.员工姓名, c.员工姓名, d.员工姓名
from
班级 a
left join 员工 b on a.任课老师 = b.员工编号
left join 员工 c on a.军事教官 = c.员工编号
left join 员工 d on a.学习顾问 = c.员工编号
[班级]表设计的不合理[班级]-[老师]:是一对多的关系,所以应另建一个[班级老师]表;
[老师]-[职务]:也可能是一对多的关系;[学生]结构:bid 班级编号
[老师]结构:yid 员工编号 员工姓名
[职务表]结构:职务编号,职务名称;
[班级老师]结构:ID,班级编号 员工编号 职务编号;
select a.班级编号,b.员工姓名 as 任课教师,c.员工姓名 as 军事顾问,d.员工姓名 as 学习顾问
from
班级 a
left join 员工 b on a.任课老师 = b.员工编号
left join 员工 c on a.军事教官 = c.员工编号
left join 员工 d on a.学习顾问 = c.员工编号