我的SQL语句看起来像那样
SELECT qe.id, qe.content, a.id, a.content, a.addDT, acr.checked, acr.score
FROM `questions_and_exercises` qe,
`questions from-to` qft
LEFT JOIN `questions-answers` qa ON (qa.qid=qe.id AND qa.uid=qft.uid)
LEFT JOIN answers a ON (a.id=qa.aid)
LEFT JOIN `answer_chk_results` acr ON (acr.aid=a.id)
AND qft.to_lid=2
WHERE qft.to_uid=3
现在,WHERE
部分没有按照我的意愿行事。试图实现这个结果:
无论如何只有一个sql语句来实现这个吗?
对于我查询的时候
WHERE qft.to_lid=2 AND qft.to_uid=NULL
WHERE qft.to_uid=2 AND qft.to_lid=NULL
我想获得带有ID的行:4,5,6。如果其中一个条件没有结果显示另一个。换句话说,这种情况彼此之间没有关系
答案 0 :(得分:0)
SELECT qe.id, qe.content, a.id, a.content, a.dt, acr.checked, acr.score
FROM `questions_and_exercises` qe,
`questions from-to` qft
LEFT JOIN `questions-answers` qa ON (qa.qid=q.id AND qa.uid=?)
LEFT JOIN answers a ON (a.id=qa.aid)
AND qft.to_lid=?
AND qft.uid=?