MYSQL - 从两个选择中将结果插入表中

时间:2017-01-18 18:07:48

标签: mysql sql wordpress

让我们说我有2个不同的select语句,每个语句提供一列。 让我们假设select语句提供以下数据:

SELECT 1            SELECT 2
|id|                 |nr|
----                 ----
456                   14
234                   5
512                   26
678                   67
987                   87
632                   24

我试图找出如何进行查询以插入此数据,如下所示:

my_table
|  id  |  nr  |  col3  | ...
   456    14     ...
   234    5      ...
   512    26     ...
   678    67     ...
  ...

我必须提到,在我的选择中,我使用多行子查询。

感谢你!

1 个答案:

答案 0 :(得分:0)

在MySQL中,您可以使用变量枚举值,然后使用join

select . . . 
from (select s.*, (@rn1 := @rn1 + 1) as rn
      from (<select 1>) s cross join
           (select @rn1 := 0) params
     ) s1 join
     (select s.*, (@rn2 := @rn2 + 1) as rn
      from (<select 2>) s cross join
           (select @rn2 := 0) params
     ) s2
     on s1.rn = s2.rn;

我建议在每个子查询中加上一个明确的order by