【发布时间】:2013-04-07 20:02:15
【问题描述】:
我知道联合查询必须具有相同数量的列。我正在尝试从表comments 和表strings 中获取结果,该表有多个连接。我该怎么做?我还没有测试,因为我知道我会收到不同数量的列的错误。这是我尝试合并的两个查询。
查询 1(字符串)
SELECT sub.actionid as usersub,
ftable.`last-time` as lastvisited, updatetable.recent as mostrecent, parent.* FROM `strings` as parent
LEFT JOIN subscribe sub on sub.actionid=parent.id AND sub.userid=:userid
JOIN followers ftable on ((ftable.sid=parent.sid AND ftable.page='1') OR
(ftable.sid=parent.sid AND ftable.position=parent.position AND ftable.page='0')
OR (ftable.profile=parent.starter AND parent.guideline='1')) AND ftable.userid=:userid
JOIN `update-recent` updatetable on
((updatetable.sid=parent.sid AND updatetable.position=parent.position AND updatetable.pageid='0')
OR (updatetable.profile=parent.starter) OR (updatetable.pageid=parent.pageid AND parent.pageid!=0))
WHERE ftable.userid=:userid AND parent.deleted='0' GROUP BY parent.id
查询 2(cmets)
SELECT * FROM comments WHERE viewed='0' AND (`starter-id`=:userid OR respondid=:userid)
我想按时间戳列排序结果posted(最新)ORDER BY posted DESC
如何合并这些查询?
【问题讨论】:
-
您的查询中没有聚合函数,那么 GROUP BY 的意义何在?
标签: mysql