我的 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
部分没有做我想做的事。试图达到这个结果:
- 全选 qft.to_lid=? (这意味着 qft.to_uid=NULL)(总是)
- 如果有 qft.to_uid=? (这意味着 qft.to_lid=NULL)也选择它们(仅当有这样的行时)。换句话说,追加到结果。
无论如何只有一个sql语句来实现这个?
更新
例如,当我查询时
WHERE qft.to_lid=2 AND qft.to_uid=NULL
WHERE qft.to_uid=2 AND qft.to_lid=NULL
我想获取 ids: 4,5,6 的行。如果其中一个条件没有结果,则显示另一个。换句话说,这个条件之间没有任何关系