我的SQL语句看起来像这样想不通的MySQL声明
SELECT q.content
FROM questions AS q, user_question_assoc AS uqa
WHERE uqa.user_id=? AND (q.course_id = uqa.course_id
OR q.lesson_id=uqa.lesson_id
OR q.question_id=uqa.question_id)
声明的最后一部分是不是因为我需要
WHERE uqa.user_id=? AND (q.course_id = uqa.course_id
OR q.lesson_id=uqa.lesson_id
OR q.question_id=uqa.question_id)
其实我想弄清楚1,仅在MySQL声明从以下(我试过在人类的语言来解释))
如果uqa.question_id
不为0(或NULL)则
WHERE uqa.user_id=? AND (q.course_id = uqa.course_id
AND q.lesson_id=uqa.lesson_id
AND q.question_id=uqa.question_id)
如果uqa.lesson_id
不为0(或NULL),但uqa.question_id
是0,那么
WHERE uqa.user_id=? AND (q.course_id = uqa.course_id
AND q.lesson_id=uqa.lesson_id)
如果uqa.course_id
不为0(或NULL),但uqa.question_id
和uqa.lesson_id
是0,那么
WHERE uqa.user_id=? AND q.course_id = uqa.course_id
有什么建议? THX提前