sql—为另一个表中的单个值插入多行

jmo0nnb3  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(325)

下面是我尝试做的一个模型:
我有下表-
表1:

----------
|ID      |
----------
|    0001|
----------
|    0002|
----------

需要创建下表-
表2:

-------------------------------------
|ID      |Table1ID|Value1  |Value2  |
-------------------------------------
|   00001|    0001|     abc|     def|
-------------------------------------
|   00002|    0001|     ghi|     jkl|
-------------------------------------
|   00003|    0002|     abc|     def|
-------------------------------------
|   00004|    0002|     ghi|     jkl|
-------------------------------------

其中value1和value2值是标量。
如何在表2中插入多行,这些行对于表1的所有值都具有表1中的相同值?

cnh2zyt3

cnh2zyt31#

我想你想要一个 cross join 使用派生表:

insert into table2 (table1id, value1, value2)
select t1.id, v.value1, v.value2
from table1 t1
cross join (values ('abc', 'def'), ('ghi', 'jkl')) v(value1, value2)

相关问题