我有以下表格:
table1: table2: table3:
| id | | id | | id |
|------| |------| |------|
| 1 | | 1 | | 1 |
| 2 | | 2 | | 2 |
如何执行MySql查询,该查询将第4个表(table4)的所有可能组合插入到具有相应列(id1,id2,id3)的上表中?
基本上我希望我的table4看起来像这样:
| id1 | id2 | id3 |
|-----|-----|-----|
| 1 | 1 | 1 |
| 1 | 1 | 2 |
| 1 | 2 | 1 |
| 1 | 2 | 2 |
| 2 | 1 | 1 |
| 2 | 1 | 2 |
| 2 | 2 | 1 |
| 2 | 2 | 2 |
答案 0 :(得分:2)
您可以使用create table as
和cross join
:
create table table4 as
select t1.id as id1, t2.id as id2, t3.id as id3
from table1 t1 cross join
table2 t2 cross join
table3 t3;
请注意,SQL表代表无序集。因此,如果您想按照指定的顺序查看结果,请使用:
select t4.*
from table4 t4
order by id1, id2, id3;