mysql - 将两个不同的表组合在一起进行查询
问题描述
我有两个共享一些列名的表,但我并不关心。
我只想合并这两个表并按 created_at 日期排序。对于其中一列,我想在其来自表 b 时填充默认值
我会拿一张这样的桌子
ID | 创建 | 标题 | 类别 |
---|---|---|---|
13 | 2021-01-01 | “你好” | 欢迎留言 |
16 | 2021-01-03 | “你好” | 欢迎留言 |
将它与这样的表结合起来
ID | 创建 | 关联 |
---|---|---|
13 | 2021-01-02 | 搜狐网 |
我正在寻找这样的东西
ID | 创建 | 关联 | 标题 | 类别 |
---|---|---|---|---|
0 | 2021-01-01 | 空值 | “你好” | 欢迎留言 |
1 | 2021-01-02 | 搜狐网 | 空值 | 表B项目 |
2 | 2021-01-03 | 空值 | “你好” | 欢迎留言 |
我如何最好地解决这个问题?我只需要这个表来进行查询。我正在使用rails和mysql 5.7。谢谢!
解决方案
您可以使用:
select (@rn := @rn + 1), created, link, title, category
from ((select ids, created, null as link, title, category
from table1
) union all
(select id, created, link, null, 'tableB item'
from table2
)
order by created
) tt cross join
(select @rn := 0) params
推荐阅读
- javascript - 如何使用正则表达式 javascript 获取最后一次出现?
- c# - 两个数组的组合
- react-native - 反应原生的pt大小
- android - 条码库在某些情况下会扫描不相关的条码值
- python - Django 用枕头将 tiff 转换为 jpeg
- php - 将 simpleXML 的 float(7.2) 与 PHP5.6 相乘
- c++ - MSVC SAL 与 C++2a 合同
- css - @extend 类动画相互抵消
- laravel - laravel 管理员可以为用户设置用户名和密码
- maven - pom.xml 中的 selenium-central-framework