插入所有字符串组合

时间:2016-09-06 10:03:06

标签: postgresql

我有一个用户表,它有3列

First Name |  Last Name  | Email 

我有

first names = ["a1", "a2", "a3", "a4"]
last names = ["b1", "b2", "b3", "b4"]
email = ["e1", "e2", "e3", "e4"]

现在我想通过

插入用户表

字符串数组的所有组合。

如下所示。

First Name |  Last Name  | Email 
 a1        |  b1         | e1
 a2        |  b1         | e1
 a3        |  b1         | e1

...

 a1        | b2          | e1
 a1        | b3          | e1

.....

 a1        | b1          |e2
 a1        | b1          |e3

以上述所有组合的方式。

1 个答案:

答案 0 :(得分:2)

对于postgresql,您可以这样做:

SELECT *
FROM unnest('{a1,a2,a3,a4}'::text[]) t1,
     unnest('{b1,b2,b3,b4}'::text[]) t2,
     unnest('{e1,e2,e3,e4}'::text[]) t3;

我正在使用unnest函数将数组转换为表格,然后我在表格上进行交叉连接。

我不知道在MySQL中这是怎么做的。