连接两个表而没有动态的公共ID

时间:2017-01-12 11:12:27

标签: mysql sql

我想以下列方式合并两个表

表1:

ID ||  email
j1 || john@abc.com
d2 || deanne@abc.com

表2

Couponcode || expirationdate || is_used
qwads123   || 12/02/2017     || yes
qwads567   || 12/02/2017     || no

如何将两个表连接成类似

的表格
ID || email || couponcode || expirationdate || is_used

2 个答案:

答案 0 :(得分:1)

如果您想要四行,请使用cross join

select t1.*, t2.*
from table1 t1 cross join
     table2 t2;

这将产生两个表之间的所有组合。

如果你想要两个"并排",那么添加一个行号并将其用于连接:

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

答案 1 :(得分:0)

您可以通过使用无条件的连接来完成此操作。但请注意,结果可能完全没用。

SELECT * FROM table1 JOIN table2

这将将table1中的每一行与table2中的每一行组合在一起。我怀疑这是你想要的结果,但没有任何组合条件,这就是你能得到的一切。