mysql - 有IN子句时如何使用UNION ALL?

标签 mysql union-all

我有这样的查询:

select p.title
from Posts p
where p.id in (select id from Votes where timestamp between $x and $y);

现在想用这个表代替 Posts:

select title from Posts1
union all
select title from Posts2

如何在第一个查询中写这个 ^ 而不是 Posts

最佳答案

尝试下面的查询,希望它会表现得更好-

SELECT p.title FROM Posts1 p JOIN votes v ON p.id=v.id
WHERE v.timestamp BETWEEN $X AND $Y
UNION ALL 
SELECT p.title FROM Posts2 p JOIN votes v ON p.id=v.id
WHERE v.timestamp BETWEEN $X AND $Y;

关于mysql - 有IN子句时如何使用UNION ALL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34529746/

相关文章:

php - 找出记录的可用日期中最大的日期,然后将输出映射到其他类似的输出以找到所有日期中的最大日期

mysql - 如何基于输入数组在双向多对多关系中选择多个值

php - 单击表格行以加载新表格

mysql - UNION ALL 结果未正确排序

使用连接进行 MySQL 关注者查询

php - 防止浏览器错误再次转到上一页

SQLite:UNION of n地方ORDER BY大小以及所有大写字母?

sql - 不要重复自己 : same SQL query, 而是两个不同的表

mysql - 选择限制行数的 MAX 值

mysql - Sql 按组选择所有对话