我需要一些MySQL版本3.23.58的数据库查询帮助。使用子查询重写MySQL查询版本3.23.58
原则上我想要做的这个查询(有一些PHP包括):
SELECT *
FROM abstracts
LEFT JOIN
(SELECT * FROM reviewdata WHERE reviewerid='$userid') as reviewdata
ON abstracts.id=reviewdata.abstractid
WHERE session='$session'
在的话,我想所有的摘要与reviewdata的摘要合并列表如果审阅已经审查了。否则,我仍然想要抽象的,但空的reviewdata(所以他可以改变它)。
上述查询在较新版本中正常工作,但在旧版本中,我不允许使用子查询,所以当我在左连接中使用嵌套SELECT时,MySQL会抱怨。
所以现在我正在寻找一种方法来避免这种子查询...
我想:
SELECT *
FROM abstracts
LEFT JOIN reviewdata
ON abstracts.id=reviewdata.abstractid
WHERE session='$session' AND (reviewerid='$userid' or reviewerid is null)
但这会导致抽象由其他审阅审核,但不为这种特定的审查员,根本没有显示给他。
我的问题是,我不知道什么被允许回来然后......
工作正常。谢谢! – Kaye