我有两张像下面这样的桌子;
X桌;

+---+----------+
| id| value    |
+---+----------+
| 1 | x value1 |
+---+----------+
| 2 | x value2 |
+---+----------+
| 3 | x value3 |
+---+----------+

Y表;
+---+----------+
| id| value    |
+---+----------+
| 1 | y value1 |
+---+----------+
| 2 | y value2 |
+---+----------+
| 3 | y value3 |
+---+----------+

我已经创建了一个新的表(x_ytable),它有x和y表的外键;
我想把所有相关的数据添加到下面的新表中;
小桌
+----+------+------+
| id | x_id | y_id |
+----+------+------+
| 1  | 1    | 1    |
+----+------+------+
| 2  | 1    | 2    |
+----+------+------+
| 3  | 1    | 3    |
+----+------+------+
| 4  | 2    | 1    |
+----+------+------+
| 5  | 2    | 2    |
+----+------+------+
| 6  | 2    | 3    |
+----+------+------+
| 7  | 3    | 1    |
+----+------+------+
| 8  | 3    | 2    |
+----+------+------+
| 9  | 3    | 3    |
+----+------+------+

如何在postgresql脚本的第三个表中添加这样的值。

最佳答案

这可以通过生成id的cross joinrow_number来完成。

select row_number() over(order by x.id,y.id) as id,x.id as x_id,y.id as y_id
from x
cross join y

关于sql - SQL将所有数据插入到桥接表,(很多),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53807120/

10-11 03:20
查看更多