我有如下表:加入4個MySQL表
`course`:
`id` (PK)
`userid` (FK)
`fromtimeid` (FK) --> `timetable_time`
`tilltimeid` (FK) --> `timetable_time`
`course_timetable`:
`id` (PK)
`courseid` (FK) --> `course`
`timetable_dayid` (FK) --> `timetable_day`
`timetable_time`:
`id` (PK)
`value`
`timetable_day`:
`id` (PK)
`value`
我要養活$userid
,並希望得到包含用戶的時間表的陣列。
我正在努力工作的理念是:
- 獲取用戶ID。
- 獲取對應於
userid
和fromtimeid
和tilltimeid
- 課程加入
timetable_time
表從#2獲得fromtimeid
和tilltimeid
獲取的值。 - 通過(從#3提取)加入
course_timetable.courseid
與course.id
- 加入
timetable_day
並得到天的值獲取天course_timetable
表。
我試着做以下,但它拋出一個錯誤:
SELECT `course`.*, `course_timetable`.*
FROM (`course`)
JOIN `course_timetable` ON `course_timetable`.`courseid` = `course`.`id`
JOIN `timetable_day` ON `timetable_day`.`id` = `course_timetable`.`timetable_dayid`
JOIN `timetable_time` ON `timetable_time`.`id` = `course`.`fromtimeid`
JOIN `timetable_time` ON `tiemtable_time`.`id` = `course`.`tilltimeid`
WHERE `userid` = $id
顯示的錯誤是:
Error Number: 1066
Not unique table/alias: 'timetable_time'
SELECT `course`.*, `course_timetable`.* FROM (`course`) JOIN `course_timetable` ON `course_timetable`.`courseid` = `course`.`id` JOIN `timetable_day` ON `timetable_day`.`id` = `course_timetable`.`timetable_dayid` JOIN `timetable_time` ON `timetable_time`.`id` = `course`.`fromtimeid` JOIN `timetable_time` ON `timetable_time`.`id` = `course`.`tilltimeid` WHERE `teacherid` = 0
我要去哪裏錯了?
你也有問題嗎? (EG。你有什麼問題?) –
@ nl-x:MySQL查詢不起作用。 :( – xan
這是怎麼回事?你有錯誤嗎?如果是這樣,錯誤是什麼?你的輸出是什麼,你的期望輸出是什麼? –