我的数据库有两个表。我只想追加这两个表。我找不到解决方案

表格1 -

 names
    First_name    Last_name
      Navjot        Singh
      Ram            Gopal
      Naveen         Kumar


表2-

address
            address    Pin
             Delhi    90007
             Lucknow  90003
             Mumbai   60008


如何以以下格式从这两个表中获取数据:

First_name      Last_name      address        Pin

  Navjot        Singh            Delhi       90007
  Ram           Gopal           Lucknow     90003
  Naveen        Kumar            Mumbai     60008


这些只是示例表。我想在50,000行上执行此操作。我的两个表中的行数相同。我已经尝试过交叉加入。我也尝试过以下sql:

从名称,地址中选择*;

它增加了总行数。我什至尝试过工会,但没有成功。

它类似于R中的cbind.data.frame。
在mysql中如何做?
任何帮助,将不胜感激。

最佳答案

问题是您没有用于连接的列。假设您有一些列可以指定顺序,则可以执行以下操作:

select t1.*, t2.*
from (select t.*, (@rn := @rn + 1) as seqnum
      from table1 t cross join (select @rn := 0) params
      order by t.id
     ) t1 join
     (select t.*, (@rn2 := @rn2 + 1) as seqnum
      from table2 t cross join (select @rn2 := 0) params
      order by t2.id
     ) t2
     on t1.seqnum = t2.seqnum;


这将为每个表中的每一行生成一个顺序键。然后将此密钥用于联接。

07-24 09:37
查看更多