mysql - 从三个表中选择

标签 mysql sqlite

我有一个关于从三个表中选择数据的问题 第一个表是这样的:时间表

ClassID   teacherID   assistantID    
1           1            2
0                    
2            3            4

` 0是休息时间,所以没有助理和老师

表:

classID     classname    
0            Break    
1            MATH    
2            ART

老师

teacherID     teacherName    
1               Tom    
2               Lily    
3               Rose    
4               Nile

我想制作一个这样的表格 时间表:

ClassName      TeacherName     AssistantName    
Math            Tom            Liky    
Break                  
Art             Rose            Nile

最佳答案

使用不同的别名加入 teacher 表两次

select c.className, teach.teacherName, assist.teacherName as assistantName
from Timetable t
join class c on c.classID = t.classID 
left join teacher teach on teach.teacherID = t.teacherID 
left join teacher assist on assist.teacherID = t.assistantID

关于mysql - 从三个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32010246/

相关文章:

mysql - SQL ORDER 按列加辅助列有条件

php - 从android应用程序插入到mysql

Android:SQLite 中的自定义排序规则

java - 有没有办法让方法检查数据库中是否存在唯一数据?

MYSQL 触发器语法错误。第1064章

php - 如何控制用户在我的网站上的事件?

mysql - 从此 MySQL select+join+group 中删除 "Using temporary; Using filesort"

c++ - 是否有任何 sqlite API (C API) 替代 BEGIN TRANSACTION 和 COMMIT

sqlite - "unescaped "字符”将文本数据导入SQLite时

sql - 如何在 SQLite 中使用 select 语句更新表