首页 > 解决方案 > 连接具有单独行的表 [查询]

问题描述

在过去的 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

标签: mysqlsqlphpmyadmin

解决方案


您可以使用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

推荐阅读