尝试连接三个表,其中master表与子表没有直接关系

时间:2016-06-15 13:06:20

标签: mysql database

我的书表

customerid   |   timeslotid  |   stype

 1                  1             1
 1                  2             2
 3                  2             3
 3                  1             4 

时刻表

timeslotsid   |   dayslotid  |  

 1                  1             
 1                  2             
 2                  4             
 3                  1             

 dayslotsid     |      day   |  

     1                  Sun             
     2                  Mon             
     3                  Tue             
     4                  Wed  

我需要将Book表与Days表相关联,例如左 选择day,stype但我不能用内连接

我试过了 选择customerid,来自Book B1内部联接的时间表T1上的时间表T1.timeslotid = B1.timeslotid内部联接D1.dayslotsid = B1.timeslotid上的日期D1;

我没有工作,我没有线索所以请帮助

1 个答案:

答案 0 :(得分:1)

尝试

SELECT B1.customerid, B1.stype, D1.day
FROM Book B1
INNER JOIN Timetable T1 on T1.timeslotid=B1.timeslotid
INNER JOIN Days D1 on D1.dayslotsid=T1.dayslotid;

从您的查询开始,我将D1上的加入条件从D1.dayslotsid=B1.timeslotid更改为D1.dayslotsid=T1.dayslotid,并根据您的示例将B1.stype添加到字段选择中。