想要将一个表的列连接到另一个表,而我没有任何公共字段

时间:2018-09-27 02:59:29

标签: sql postgresql

我有一个包含31行的表:

 1718
  548
  ..

另一个具有31行的表:

  date    | value
----------+-----------
 20180924 | Cellsgold
 20180924 | Sitegold
..

我希望将结果设置为

row 1 of table 1 | row 1 of table 2
row 2 of table 1 | row 2 of table 2

不需要排序,我只想让两列都在彼此前面。

表2的31行前31行

喜欢

1718 | 20180924 | Cellsgold
 548 | 20180924 | Sitegold

2 个答案:

答案 0 :(得分:0)

如前所述,不对ORDER BY强加订单将产生不可预测的结果。

这是一种实现方法:

SELECT t1.*, t2.*
FROM (SELECT row_number() OVER () AS rn, *
      FROM table1) AS t1
JOIN (SELECT row_number() OVER () AS rn, *
      FROM table2) AS t2
USING (rn);

答案 1 :(得分:0)

如果每行只有31行

不建议使用DB(因为rownum可能会每次更改)

最好将excel / calc与连接功能配合使用