我有两张像下面这样的桌子;
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 join
和row_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/