如果第一个表在MySQL查询中使用UNION没有返回记录,如何从另一个表中获取记录

如果第一个表在MySQL查询中使用UNION没有返回记录,如何从另一个表中获取记录,第1张

概述我有两个表名'activites'& 'archived_activities'.我将我的活动表记录分成另一个表记录.活动表仅包含用户的前200个最新活动,并且剩余记录已移至archived_activities表.现在我只想在活动表返回null时加入两个表,然后我想使用相同的偏移量和限制来获取archived_activities表以获取下一条记录

我有两个表名’activites’& ‘archived_activitIEs’.我将我的活动表记录分成另一个表记录.活动表仅包含用户的前200个最新活动,并且剩余记录已移至archived_activitIEs表.现在我只想在活动表返回null时加入两个表,然后我想使用相同的偏移量和限制来获取archived_activitIEs表以获取下一条记录.在我下面我的查询不能正常工作.

SELECT * FROM activitIEs WHERE user_ID=87 liMIT 180,20UNION ALL SELECT * FROM activitIEs WHERE user_ID=87 liMIT 180,20

但是这个查询工作不顺利.

有帮助吗?

最佳答案这里的一种方法是进行联合以将当前记录和归档记录都放入一个逻辑表中,但是对它们进行排序以使当前记录具有更高的优先级(如果它们存在).我将1的位置分配给当前记录,将2分配给归档记录.然后,我按此位置订购并保留200条记录.

SELECT col1,col2,...FROM(    SELECT col1,...,1 AS position    FROM activitIEs    WHERE user_ID = 87    UNION ALL    SELECT col1,2    FROM archived_activitIEs    WHERE user_ID = 87) tORDER BY    positionliMIT 200;
总结

以上是内存溢出为你收集整理的如果第一个表在MySQL查询中使用UNION没有返回记录,如何从另一个表中获取记录全部内容,希望文章能够帮你解决如果第一个表在MySQL查询中使用UNION没有返回记录,如何从另一个表中获取记录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1168703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存