SELECT
(SELECT date FROM forums WHERE topic_id=f.id OR id=f.id ORDER BY id DESC LIMIT 1) as last_reply,
f.*, p.id as pid, p.name FROM forums f
INNER JOIN players p ON p.id = f.author
WHERE f.topic_id=0 ORDER BY f.id DESC
在子查询中,我不仅要返回date
字段,还要返回author
字段。我该怎么做?
看过类似的帖子,但无法将其应用到我的帖子中。
最佳答案
我会这样做:
SELECT
(SELECT date FROM forums WHERE topic_id=f.id OR id=f.id ORDER BY id DESC LIMIT 1) as last_reply,
(SELECT author FROM forums WHERE topic_id=f.id OR id=f.id ORDER BY id DESC LIMIT 1) as last_author,
f.*, p.id as pid, p.name FROM forums f
INNER JOIN players p ON p.id = f.author
WHERE f.topic_id=0 ORDER BY f.id DESC
我实际上会再次重复子查询
关于来自子查询的mysql多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067070/