mysql - 连接具有单独行的表 [查询]
问题描述
在过去的 2 个小时里,我已经在网上四处查看以解决我的问题,我有 2 个具有相同用户的表。我想加入两个表,而不是将它们组合到同一行中。
我尝试了多种连接表格的方法。
例子:
表格1:
ID| User | item
1 | Peter | Apple
2 | Peter | Grape
3 | John | Apple
4 | Smith | Lemon
表 2:
ID| User | Cars
1 | Smith | Mazda
2 | Peter | BMW
3 | Jamie | Apple
4 | Peter | Honda
我试图进行一个查询,向我展示一个人拥有的所有物品,这是查询结果返回的 id 方式。
我试图得到的查询结果:
ID| User | Belongings
1 | Peter | Honda
2 | Peter | BMX
3 | Peter | Apple
4 | Peter | Grape
解决方案
您可以使用union all
:
select id, user, item
from table1 t1
where user = 'Peter'
union all
select id, user, item
from table2 t2
where user = 'Peter';
如果要重新分配 id:
select (@rn := @rn + 1) as id, user, item
from ((select id, user, item
from table1 t1
where user = 'Peter'
) union all
(select id, user, item
from table2 t2
where user = 'Peter'
)
) p cross join
(select @rn := 0) params
推荐阅读
- android - 如何使用 cordova 创建 android TV 应用程序
- reactjs - setState 在 componentDidMount() 中不起作用
- r - Tidyeval:将函数应用于从列表中提取的数据帧
- ionic-framework - 如何隐藏特定页面的状态栏
- angular - 用 Apache 中的其他 html 文件替换 index.html
- visual-studio - 如何使用命令行参数运行 Visual Studio C# 程序?
- python - 使用 Python 从列表中的货币值中删除标点符号
- jquery - 响应式表更改jquery css的问题
- c# - Unity3D ScriptableObject 序列化
- ruby-on-rails - 使用 HTTParty 从 Rails POST 到 VoilaNorbert API