我想在mySQL中加入两个不同的结果集来显示。例如,假设我有一个结果集#1如下 -
NAME PHONE
ABC 123
DEF 456
GHI 789
结果集#2 -
MAIL ID WEBSITE
JKL@JKL.COM WWW.JKL.COM
MNO@MNO.COM WWW.MNO.COM
PQR@PQR.COM WWW.PQR.COM
现在我想要的是这两个结果在一个结果集中并排显示,没有任何关系。
NAME PHONE MAIL ID WEBSITE
ABC 123 JKL@JKL.COM WWW.JKL.COM
DEF 456 MNO@MNO.COM WWW.MNO.COM
GHI 789 PQR@PQR.COM WWW.PQR.COM
我该怎么做?
答案 0 :(得分:2)
您需要在两个没有id的表之间进行连接。好吧,你真的不能这样做。 SQL中的表没有排序,因此您需要一个键来链接它们。
你可以做点什么。而且,如果你很幸运,它会奏效。以下内容为每个表添加一个行号,然后加入:
select t1.name, t1.phone, t2.mail, t2.website
from (select t1.*, @r1 as r1, @r1 := @r1 + 1
from t1 cross join (select @r1 := 0)
) r1 join
(select t2.*, @r2 as r2, @r1 := @r2 + 1
from t2 cross join (select @r2 := 0)
) r2
on t1.r1 = t2.r2
我必须强调, 保证无法正常工作。您确实需要在表之间使用正确的连接键。但是,它可能会奏效。