如何为SQL执行相当于双for循环的追加

如何为SQL执行相当于双for循环的追加,sql,dataframe,presto,Sql,Dataframe,Presto,我正在用SQL(Presto,也是SQL的新成员)设置这个表,它有两列,col1和col2这两列是从另外两个现有表table1和table2生成的。为了简单起见,假设table1中的col1有3个值,而table2中的col2有2个值。我希望我要创建的表如下所示(我们称之为table3,我将使用col1.1表示该列中的第一个值,依此类推): 我知道如何在Python中像这里一样使用Pandas(虚拟示例): 表输出: col1 col2 0 1 sam 1 1 jo

我正在用SQL(Presto,也是SQL的新成员)设置这个表,它有两列,
col1
col2
这两列是从另外两个现有表
table1
table2
生成的。为了简单起见,假设
table1
中的
col1
有3个值,而
table2
中的
col2
有2个值。我希望我要创建的表如下所示(我们称之为
table3
,我将使用
col1.1
表示该列中的第一个值,依此类推):

我知道如何在Python中像这里一样使用Pandas(虚拟示例):

表输出:

   col1  col2
0     1   sam
1     1  john
2     2   sam
3     2  john
4     3   sam
5     3  john

基本上,它应该采用上表的格式。我已经反复尝试了
UNION ALL
,但我不太确定我是否走上了正确的道路

我想你想要一个
交叉连接

select row_number() over (order by t1.col1, t2.col2) as id, t1.col1, t2.col2
from table1 t1 cross join
     table2 t2;
row\u number()
表示第一列应该是数据的一部分

   col1  col2
0     1   sam
1     1  john
2     2   sam
3     2  john
4     3   sam
5     3  john
select row_number() over (order by t1.col1, t2.col2) as id, t1.col1, t2.col2
from table1 t1 cross join
     table2 t2;