0

我想在 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

我该怎么做?

4

1 回答 1

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

我必须强调,这不能保证有效。您确实需要表之间的正确连接键。但是,它可能会起作用。

于 2013-04-25T13:30:29.450 回答