从时间回归课程

时间:2017-12-01 17:56:31

标签: python sql database

我不确定为什么在测试此功能时出现此错误。有人可以帮我解决这个问题吗?

cur.execute(q, args)
sqlite3.OperationalError: near "FROM": syntax error

这是我想要的输出:

print(get_course_time(db, "MGEB02H3F"))

# [('MGEB02H3F', '214', '17-12-14', '14:00'), ('MGEB02H3F', '215', '17-12-14', '14:00'), 
#  ('MGEB02H3F', '216', '17-12-14', '14:00'), ('MGEB02H3F', '217', '17-12-14', '14:00'), 
#  ('MGEB02H3F', '218', '17-12-14', '14:00')]

目前的代码:

def get_course_time(db, course):
"""Return the course number, ID, the date and start time of the given 
   course's exam for all sections. Note there are only multiple sections 
   if the course IDs are different."""

return run_query(db, '''SELECT Courses.Course FROM Courses 
                        JOIN Time on Time.Course, ID, Date, Start 
                        FROM Time  WHERE course = ?''', (course,))

2 个答案:

答案 0 :(得分:0)

您的FROM子句末尾有第二个JOIN。此外,JOIN子句似乎有误,但您看到的错误是由于第二个FROM

答案 1 :(得分:0)

这就是我所做的,它的确有效......

return run_query(db, ''' SELECT Courses.Course, Courses.ID, Time.Date, Time.Start
FROM Courses JOIN Time ON Courses.ID = Time.ID WHERE Course = ? ''', [course])


get_course_time(db, 'ACTB40H3F')

[(' ACTB40H3F',' 1',' 17-12-12',' 14:00')]

你必须记住在python中,你需要执行某些方法,以便为代码添加额外的参数。享受!