我的数据库有两个表。我只想追加这两个表。我找不到解决方案
表格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;
这将为每个表中的每一行生成一个顺序键。然后将此密钥用于联接。